SQL Server Management Objects (SMO) 是 .NET Framework 物件庫,專為管理一或多個 SQL Server 實例而設計。它取代舊有的 SQL-DMO,原生支援 SQL Server 2005 新功能(如 Service Broker、快照隔離),並向下相容 SQL Server 2000。本文系統介紹 SMO 核心架構、必要組件參考、伺服器連線、物件枚舉、DDL/DML 執行、備份還原與驗證等實戰主題。
Microsoft.SqlServer.Smo.dll(核心類別:Database、Server、Backup、Restore)、Microsoft.SqlServer.ConnectionInfo.dll(連線管理)。Microsoft.SqlServer.SqlEnum.dll(列舉類別)、Microsoft.SqlServer.SmoEnum.dll(URN 存取類別)。SmoApplication.EnumAvailableSqlServers() 發現網路實例,Server.Databases 集合遍歷資料庫。ServerConnection 類別支援 Windows 驗證、SQL 驗證與連線字串彈性配置。Database.ExecuteNonQuery() 執行建表、修改結構等 DDL;ExecuteWithResults() 回傳查詢結果集。Backup、Restore 類別完整封裝完整/差異/記錄備份、裝置管理、還原計畫驗證等流程。微軟明確建議:新開發 .NET 管理應用優先採用 SMO;現有 DMO 應用應規劃遷移至 SMO,以獲得原生新功能支援與更佳效能。