分享方式:


SQL Server PowerShell 提供者

Windows PowerShell 的 SQL Server 提供者會在類似文件系統路徑的路徑中公開 SQL Server 物件的階層。 您可以使用路徑來尋找物件,然後使用 SQL Server 管理物件 (SMO) 模型中的方法對物件執行動作。

注意

有兩個 SQL Server PowerShell 模組;SqlServerSQLPS

SqlServer 模組是要使用的目前 PowerShell 模組。

SQLPS 模組 隨附於 SQL Server 安裝中,但不再更新。

SqlServer 模組包含 SQLPS 中更新的 Cmdlet 版本,並包含新的 Cmdlet 以支援最新的 SQL 功能。

PowerShell 資源庫安裝 SqlServer 模組。

如需詳細資訊,請流覽 SQL Server PowerShell

SQL Server PowerShell 提供者的優點

SQL Server 提供者所實作的路徑可讓您輕鬆且以互動方式檢閱 SQL Server 實例中的所有物件。 您可以使用 Windows PowerShell 別名來巡覽路徑,類似於您通常用來巡覽文件系統路徑的命令。

SQL Server PowerShell 階層

數據或物件模型可以在階層中表示的產品會使用 Windows PowerShell 提供者來公開階層。 階層會使用類似於 Windows 檔案系統的磁碟驅動器和路徑結構來公開。

每個 Windows PowerShell 提供者都會實作一或多個磁碟驅動器。 每個磁碟驅動器都是相關物件的階層根節點。 SQL Server 提供者會實作 SQLSERVER 磁碟驅動器。 提供者也會定義 SQLSERVER 磁碟驅動器的一組主要資料夾。 每個資料夾及其子資料夾都代表可以使用 SQL Server 管理物件模型存取的物件。 當您將焦點放在開頭為其中一個主要資料夾之路徑中的子資料夾時,您可以使用相關聯物件模型的方法,對節點所代表的物件執行動作。 下表列出 SQL Server 提供者所實作的 Windows PowerShell 資料夾:

資料夾 SQL Server 物件模型命名空間 物件
SQLSERVER:\SQL Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.Management.Smo.Agent
Microsoft.SqlServer.Management.Smo.Broker
Microsoft.SqlServer.Management.Smo.Mail
資料庫物件,例如數據表、檢視表和預存程式。
SQLSERVER:\SQLPolicy Microsoft.SqlServer.Management.Dmf
Microsoft.SqlServer.Management.Facets
原則式管理物件,例如原則和 Facet。
SQLSERVER:\SQLRegistration Microsoft.SqlServer.Management.RegisteredServers 已註冊的伺服器物件,例如伺服器群組和已註冊的伺服器。
SQLSERVER:\DataCollection Microsoft.SqlServer.Management.Collector 數據收集器物件,例如收集組和組態存放區。
SQLSERVER:\SSIS Microsoft.SqlServer.Management.IntegrationServices SSIS 物件,例如專案、套件和環境。
SQLSERVER:\XEvent Microsoft.SqlServer.Management.XEvent SQL Server 擴充事件
SQLSERVER:\DatabaseXEvent Microsoft.SqlServer.Management.XEventDbScoped SQL Server 擴充事件
SQLSERVER:\SQLAS Microsoft.AnalysisServices Analysis Services 物件,例如 Cube、匯總和維度。

例如,您可以使用 SQLSERVER:\SQL 資料夾來啟動路徑,代表 SMO 物件模型支援的任何物件。 SQLSERVER:\SQL 路徑的前置部分是 SQLSERVER:\SQL\ComputerName\InstanceName。 實例名稱之後的節點會交替物件集合(例如 DatabasesViews)和物件名稱(例如 AdventureWorks2022)。 架構不會表示為物件類別。 當您在架構中指定最上層對象的節點時,例如數據表或檢視表,您必須以 schemaName.ObjectName格式指定物件名稱。

下列範例顯示本機計算機上 Database Engine 預設實例中,AdventureWorks2022 資料庫購買架構中 Vendor 數據表的路徑:

SQLSERVER:\SQL\localhost\DEFAULT\Databases\AdventureWorks2022\Tables\Purchasing.Vendor

如需 SMO 物件模型階層的詳細資訊,請參閱 /sql/relational-databases/server-management-objects-smo/smo-object-model-diagram。

路徑中的集合節點會與相關聯物件模型中的集合類別相關聯。 物件名稱節點與相關聯物件模型中的物件類別相關聯,如下表所示:

路徑 SMO 類別
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases Microsoft.SqlServer.Management.Smo.DatabaseCollection>
SQLSERVER:\SQL\MyComputer\DEFAULT\Databases\AdventureWorks2022 Microsoft.SqlServer.Management.Smo.Database>

SQL Server 提供者工作

工作描述
描述如何使用 Windows PowerShell Cmdlet 瀏覽路徑中的節點,並針對每個節點取得該節點的物件清單。 流覽 SQL Server PowerShell 路徑
描述如何使用 SMO 方法和屬性來報告節點在路徑中代表的物件上報告和執行工作。 也說明如何取得該節點的 SMO 方法和屬性清單。 使用 SQL Server PowerShell 路徑
描述將 SMO 統一資源名稱 (URN) 轉換為 SQL Server 提供者路徑。 Convert-UrnToPath
描述如何使用 SQL Server 提供者開啟 SQL Server 驗證連線。 根據預設,提供者會使用執行 Windows PowerShell 工作階段的 Windows 帳戶認證所建立的 Windows 驗證連線。 在 Database Engine PowerShell 中管理驗證

下一步