PowerShell 中的 SQL Server 标识符

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)

用于 Windows PowerShell 的 SQL Server 提供程序使用 Windows PowerShell 路径中的 SQL Server 标识符。 SQL Server 标识符可包含 Windows PowerShell 不支持在路径中使用的字符。 在 Windows PowerShell 路径中使用标识符时,必须对这些字符进行转义或者对它们使用特殊的编码。

注意

SQL Server PowerShell 模块有两种;SqlServer 和 SQLPS 。

SqlServer 模块是当前要使用的 PowerShell 模块。

虽然 SQL Server 安装附带了 SQLPS 模块(用于实现后向兼容性),但该模块不再更新。

SqlServer 模块不仅包含 SQLPS 更新版本的 cmdlet,还包含新的 cmdlet 以支持最新的 SQL 功能 。

PowerShell 库安装 SqlServer 模块。

有关详细信息,请参阅 SQL Server PowerShell

Windows PowerShell 路径中的 SQL Server 标识符

Windows PowerShell 提供程序使用类似于 Windows 文件系统的路径结构来公开数据层次结构。 SQL Server 提供程序实现了 SQL Server 对象的路径。 对于 数据库引擎,驱动器设置为 SQLSERVER:,第一个文件夹设置为 \SQL,数据库对象作为容器和项来引用。 这是 Purchasing 架构中 Vendor 表的路径,该架构位于默认 AdventureWorks2022 实例的 数据库引擎数据库中:

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

SQL Server 标识符是 SQL Server 对象的名称,如表名或列名。 共有两种类型的 SQL Server 标识符:

  • 常规标识符限制为一组在 Windows PowerShell 路径中同样受到支持的字符。 无需更改这些名称,即可在 Windows PowerShell 路径中使用它们。

  • 分隔标识符可以使用 Windows PowerShell 路径名称中不支持的字符。 如果用中括号将分隔标识符括起来 ([IdentifierName]),则可以将它们称为带中括号的标识符;如果将它们用双引号引起来,则可以将它们称为带引号的标识符 ("IdentifierName")。 如果分隔标识符使用 Windows PowerShell 路径中不支持的字符,那么,必须先对这些字符进行编码或转义,才能将标识符用作容器名称或项名称。 可以针对所有字符进行编码。 而某些字符(如冒号字符 (:))则不能进行转义。

cmdlet 中的 SQL Server 标识符

某些 SQL Server cmdlet 具有一个将标识符作为输入的参数。 参数值通常以带引号的字符串常量或以字符串变量形式提供。 如果标识符以字符串常量或变量形式提供,则不会与 Windows PowerShell 支持的字符集发生冲突。

SQL Server 标识符任务

任务说明 项目
介绍如何指定一个实例名称,包括运行该实例的计算机的名称。 在 SQL Server PowerShell 提供程序中指定实例
介绍如何为 Windows PowerShell 路径中不支持的分隔标识符中的字符指定十六进制编码。 此外还介绍了如何解码十六进制字符。 对 SQL Server 标识符进行编码和解码
介绍如何为 PowerShell 路径中不支持的字符使用 Windows PowerShell 转义符。 对 SQL Server 标识符进行转义

另请参阅