編碼和譯碼 SQL Server 識別碼
SQL Server 分隔的標識碼有時包含 Windows PowerShell 路徑中不支援的字元。 這些字元可以藉由編碼其十六進位值來指定。
注意
有兩個 SQL Server PowerShell 模組;SqlServer 和 SQLPS。
SqlServer 模組是要使用的目前 PowerShell 模組。
SQLPS 模組
SqlServer 模組包含 SQLPS 中更新的 Cmdlet 版本,並包含新的 Cmdlet 以支援最新的 SQL 功能。
從 PowerShell 資源庫安裝 SqlServer 模組。
如需詳細資訊,請流覽 SQL Server PowerShell。
Windows PowerShell 路徑名稱中不支援的字元可以表示或編碼為 “%” 字元,後面接著代表字元之位模式的十六進位值,如 “**%**xx”。 編碼一律可用來處理 Windows PowerShell 路徑中不支援的字元。
Encode-Sqlname
Cmdlet 接受 SQL Server 識別碼作為輸入,並輸出字串,其中包含以 %xx
編碼之 Windows PowerShell 語言不支援的所有字元。
Decode-SqlName
Cmdlet 會接受編碼的 SQL Server 識別碼作為輸入,並傳回原始標識符。
限制
Encode-Sqlname
和 Decode-Sqlname
Cmdlet 只會編碼或譯碼 SQL Server 分隔標識符中允許但 PowerShell 路徑不支援的字元。 以下是由 Encode-SqlName
編碼的字元,並由 Decode-SqlName
譯碼:
字元 | \ | / | : | % | < | > | * | ? | [ | ] | | |
---|---|---|---|---|---|---|---|---|---|---|---|
十六進位編碼 | %5C | %2F | %3A | %25 | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
編碼標識碼
在 PowerShell 路徑中編碼 SQL Server 識別碼
- 使用兩種方法之一來編碼 SQL Server 識別碼:
- 使用語法 %XX指定不支援字元的十六進位程序代碼,其中 XX 是十六進位程序代碼。
- 將標識子當做引號字串傳遞至
Encode-Sqlname
Cmdlet
範例(編碼)
此範例會指定 :
字元的編碼版本(%3A):
Set-Location Table%3ATest
或者,您可以使用 Encode-Sqlname
來建置 Windows PowerShell 支援的名稱:
Set-Location (Encode-SqlName "Table:Test")
譯碼標識碼
若要從 PowerShell 路徑譯碼 SQL Server 識別符,請使用 Decode-Sqlname
Cmdlet,以編碼所代表字元取代十六進位編碼。
範例(譯碼)
此範例會傳回 「Table:Test」:
Decode-SqlName "Table%3ATest"
相關內容
- 在 PowerShell 中
SQL Server 識別碼 - SQL Server PowerShell 提供者
- SQL Server PowerShell