Идентификаторы SQL Server в PowerShell

Применимо к: SQL Server Azure SQL DatabaseУправляемый экземпляр SQL AzureAzure Synapse Analytics AnalyticsPlatform System (PDW)

Поставщик SQL Server для Windows PowerShell использует идентификаторы SQL Server в путях Windows PowerShell. SQL Server могут содержать символы, которые не поддерживаются в путях Windows PowerShell. Такие символы при использовании в идентификаторах в составе путей Windows PowerShell следует экранировать или применять для них специальную кодировку.

Примечание

Существует два модуля SQL Server PowerShell — SqlServer и SQLPS.

Самым актуальным модулем PowerShell является модуль SqlServer.

Модуль SQLPS входит в состав установки SQL Server (для обеспечения обратной совместимости), но больше не обновляется.

Модуль SqlServer содержит обновленные версии командлетов в SQLPS и новые командлеты для поддержки последних функций SQL.

Установите модуль SqlServer из коллекции PowerShell.

Подробные сведения см. в статье SQL Server PowerShell.

Идентификаторы SQL Server в путях Windows PowerShell

Поставщики Windows PowerShell предоставляют доступ к иерархиям данных с помощью структуры путей, аналогичной используемой в файловой системе Windows. В поставщике SQL Server реализуются пути к объектам SQL Server . Для компонента Компонент Database Engineжесткий диск задается как SQLSERVER, а первая папка — как \SQL. Объекты базы данных указываются как контейнеры и элементы. Это путь к таблице Vendor в схеме AdventureWorks2022 приобретения базы данных в экземпляре ядра СУБД по умолчанию:

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

SQL Server представляют собой имена объектов SQL Server , такие как имена таблиц или столбцов. Существуют два типа идентификаторов SQL Server .

  • Обычные идентификаторы ограничены набором символов, которые также поддерживаются в путях Windows PowerShell. Такие имена можно использовать в путях Windows PowerShell без изменения.

  • В идентификаторах с разделителями можно использовать символы, неподдерживаемые в именах путей Windows PowerShell. Идентификаторами с разделителями называют идентификаторы, заключенные в квадратные скобки (например: [ИмяИдентификатора]) и заключенные в кавычки (например: "ИмяИдентификатора"). Если в идентификаторе с разделителями используются символы, неподдерживаемые в путях Windows PowerShell, эти символы нужно кодировать или экранировать перед использованием идентификатора в качестве имени элемента или контейнера. Кодировка применяется для всех символов. С другой стороны, экранирование некоторых символов, таких как символ двоеточия (:), невозможно.

Идентификаторы SQL Server в командлетах

Некоторые командлеты SQL Server имеют параметры, в которые в качестве входных данных передается идентификатор. Значения таких параметров обычно задаются в виде строковых констант, заключенных в кавычки, или строковых переменных. Если идентификаторы задаются в виде строковых констант или в переменных, то конфликты с набором символов, поддерживаемых Windows PowerShell, не возникают.

Работа с идентификаторами SQL Server

Описание задачи Статья
Описывает, как указывать имя экземпляра, включая имя компьютера, на котором эксплуатируется экземпляр. Указание экземпляров в поставщике SQL Server PowerShell
Описывает, как указывать шестнадцатеричную кодировку для символов в идентификаторах с разделителями, которые не поддерживаются Windows PowerShell. Кроме того, описывает, как декодировать шестнадцатеричные символы. Шифрование и расшифровка идентификаторов SQL Server
Описывает, как использовать escape-символ Windows PowerShell для символов, не поддерживаемых в путях PowerShell. Применение escape-символов к идентификаторам SQL Server

См. также: