Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Идентификаторы с разделителями SQL Server иногда содержат символы, которые не поддерживаются в путях Windows PowerShell. Эти символы можно задавать путем кодирования их шестнадцатеричных значений.
Замечание
Существует два модуля SQL Server PowerShell; SqlServer и SQLPS.
Модуль SqlServer — это текущий модуль PowerShell для использования.
Модуль SQLPS включен в установку SQL Server (для обратной совместимости), но больше не обновляется.
Модуль SqlServer содержит обновленные версии командлетов в SQLPS и включает новые командлеты для поддержки последних функций SQL.
Установите модуль SqlServer из коллекции PowerShell.
Дополнительные сведения см. в SQL Server PowerShell.
Символы, не поддерживаемые в именах путей Windows PowerShell, могут представляться или кодироваться как символ "%", за которым следует шестнадцатеричное значение битового шаблона, представляющего символ, как в символе "**%**xx". Для обработки символов, неподдерживаемых в обозначениях путей Windows PowerShell, всегда можно использовать кодировку.
Командлет Encode-Sqlname
принимает идентификатор SQL Server в качестве входных данных и выводит строку со всеми символами, не поддерживаемыми языком Windows PowerShell.%xx
Командлет Decode-SqlName
принимает кодированный идентификатор SQL Server в качестве входных данных и возвращает исходный идентификатор.
Ограничения и запреты
Командлеты Encode-Sqlname
Decode-Sqlname
кодируют или декодируют символы, разрешенные в идентификаторах с разделителями SQL Server, но не поддерживаются в путях PowerShell. Ниже приведены символы, закодированные Encode-SqlName
и декодированные по Decode-SqlName
:
Символ | \ | / | : | % | < | > | * | ? | [ | ] | | |
---|---|---|---|---|---|---|---|---|---|---|---|
Шестнадцатеричная кодировка | %5C | %2F | %3A | 25% | %3C | %3E | %2A | %3F | %5B | %5D | %7C |
Кодирование идентификатора
Кодирование идентификатора SQL Server в пути PowerShell
- Используйте один из двух методов для кодирования идентификатора SQL Server:
- Укажите шестнадцатеричный код для неподдерживаемого символа, используя синтаксис %XX, где XX — шестнадцатеричный код.
- Передайте идентификатор в виде строки, заключенной в кавычки, в командлет
Encode-Sqlname
Пример (кодировка)
В этом примере указывается кодированная версия символа :
(%3A):
Set-Location Table%3ATest
Кроме того, можно использовать Encode-Sqlname
для создания имени, поддерживаемого Windows PowerShell:
Set-Location (Encode-SqlName "Table:Test")
Декодирование идентификатора
Чтобы декодировать идентификатор SQL Server из пути PowerShell, используйте Decode-Sqlname
командлет, чтобы заменить шестнадцатеричные кодировки символами, представленными кодировкой.
Пример (декодирование)
В этом примере происходит возврат строки Table:Test:
Decode-SqlName "Table%3ATest"