巧用SQL-DMO創建備份及校驗的ASP應用
摘要:SQL分布式管理對象(SQL Distributed Management objects, SQL-DMO)為開發者提供了使用程序和腳本語言執行普通任務的方法,從而擴展了SQL Server功能。本文談論如何巧妙的利用SQL-DMO創建數據庫備份和校驗的ASP應用。
前提
你需要有SQL Server數據庫備份的相關知識。另外還要在global.asa文件中加入SQL-DMO庫的引用。以下是SQL Server 2000的引用:
<!--METADATA TYPE="TypeLib" NAME="Microsoft
SQLDMO Object Library" UUID="
" VERSION="8.0"-->
SQLDMO Object Library" UUID="
" VERSION="8.0"-->
本文示例代碼適用于SQL 7.0, MSDE,和 SQL Server 2000。
喜與憂
使用SQL-DMO對象讓人且喜且憂。它提供了非常豐富的功能,以至于不知該如何使用。本文只討論示例涉及的對象屬性和方法。你可以在SQL Server在線教學上找到許多相關信息。
SQLDMO.SQLServer
用于連接SQL Server數據庫:
<%
Dim srv
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","passWord"
%>
Dim srv
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","passWord"
%>
這里通過代入用戶名和口令來連接SQL Server數據庫。如果要使用NT的身份認證,就將它的LoginSecure屬性設為真(TRUE),忽略代入的用戶名和口令,而使用NT的注冊信息。
SQLDMO.Database
列出服務器中的數據庫。在本文示例中,對列出的數據庫進行備份。下面的代碼將服務器中的數據庫列于下拉菜單:
<%
Dim srv
Dim objDB
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","password"
Set objDB = Server.CreateObject("SQLDMO.Database")
%>
<SELECT name="fdatabase">
<%
For Each objDB In srv.Databases
If objDB.SystemObject = False Then
%>
<OPTION><%=objDB.Name%></OPTION>
<%
End If
Next
%>
</SELECT>
Dim srv
Dim objDB
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","password"
Set objDB = Server.CreateObject("SQLDMO.Database")
%>
<SELECT name="fdatabase">
<%
For Each objDB In srv.Databases
If objDB.SystemObject = False Then
%>
<OPTION><%=objDB.Name%></OPTION>
<%
End If
Next
%>
</SELECT>
SQLDMO.BackupDevice
列出服務器上安裝的備份裝置。我建議使用備份裝置來備份數據庫。因為這樣可以使用SQL-DMO的校驗功能來校驗備份情況。下面的代碼列出服務器上的備份裝置:
<%
Dim srv
Dim objDevice
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","password"
Set objDevice = Server.CreateObject("SQLDMO.BackupDevice")
For Each objDevice In srv.BackupDevices
Response.Write objDevice.Name +"<BR>"
Next
%>
Dim srv
Dim objDevice
Set srv = Server.CreateObject("SQLDMO.SQLServer")
srv.LoginTimeout = 15
srv.Connect "servername","username","password"
Set objDevice = Server.CreateObject("SQLDMO.BackupDevice")
For Each objDevice In srv.BackupDevices
Response.Write objDevice.Name +"<BR>"
Next
%>
全站熱搜