用于 Windows PowerShell 的 SQL Server 提供程序用类似于文件系统路径的路径公开 SQL Server 对象的层次结构。 可以使用路径查找对象,然后使用 SQL Server 管理对象 (SMO) 模型中的方法对对象执行作。
注释
SQL Server PowerShell 模块有两种;SqlServer 和 SQLPS 。
SqlServer 模块是当前要使用的 PowerShell 模块。
虽然 SQL Server 安装附带了 SQLPS 模块(用于实现后向兼容性),但该模块不再更新。
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 |
基于策略的管理对象,如策略和方面。 |
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 对象,例如多维数据集、聚合和维度。 |
例如,可以使用 SQLSERVER:\SQL 文件夹启动表示 SMO 对象模型支持的任何对象的路径。 SQLSERVER:\SQL 路径的前导部分是 SQLSERVER:\SQL\ComputerNameInstanceName。 实例名称后面的节点在对象集合(如“数据库”或“视图”)和对象名称(如 AdventureWorks2022
)之间交替变化。 架构不用对象类表示。 在为架构中的顶层对象(如表或视图)指定节点时,必须以 SchemaName.ObjectName 格式指定对象名称。
以下示例显示 AdventureWorks2022
数据库的 Purchasing 架构中的 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 身份验证连接。 | 在数据库引擎 PowerShell 中管理身份验证 |