首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

使用 SQL-DMO 自動化 SQL Server 管理:列舉伺服器、連線資訊與狀態監控

     編輯:關於SqlServer

SQL-DMO 簡介

SQL Distributed Management Objects (SQL-DMO) 為 COM 程式庫,允許 VB6/VBA/.NET (透過 Interop) 程式化管理 SQL Server:列舉伺服器、建立資料庫、備份/還原、權限管理、作業排程等。

專案參考設定

VBA/VB6:工具 → 參考 → 勾選 "Microsoft SQLDMO Object Library"。
.NET:加入 `Microsoft.SqlServer.Dmo` 參考 (需安裝 SQL Server Client Tools SDK)。

列舉網路可用 SQL Server

Dim sqlApp As New SQLDMO.Application
Dim nameList As SQLDMO.NameList
Set nameList = sqlApp.ListAvailableSQLServers()

Dim i As Long
For i = 1 To nameList.Count
    List1.AddItem nameList.Item(i)  ' 填入 ListBox
Next

連線特定伺服器並取得狀態

Dim sqlSrv As New SQLDMO.SQLServer
sqlSrv.LoginSecure = True  ' Windows 整合驗證
Call sqlSrv.Connect("MyServer", "username", "password")

Debug.Print "Name: " & sqlSrv.Name
Debug.Print "Host: " & sqlSrv.HostName
Debug.Print "Status: " & sqlSrv.Status  ' 0=正常, 1=啟動中, 2=暫停, 3=斷線等
Debug.Print "Version: " & sqlSrv.VersionString
Debug.Print "Edition: " & sqlSrv.ProductLevel

常用管理操作範例

  • 建立資料庫:sqlSrv.Databases.Add("NewDB")
  • 備份資料庫:Dim bak As New SQLDMO.Backup ... bak.SQLBackup sqlSrv
  • 執行 T-SQL:sqlSrv.Databases("master").ExecuteImmediate("DBCC CHECKDB")
  • 列舉作業:For Each job In sqlSrv.JobServer.Jobs ... Next

注意事項

  • SQL-DMO 已在 SQL Server 2012 後停止維護,新專案建議改用 SMO (Server Management Objects) (.NET 原生組件)。
  • COM 介面需 32 位元進程或啟用 COM+ 相容性。
  • 連線字串建議使用 Windows 整合驗證,避免明文密碼。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved