Указание экземпляров в поставщике SQL Server PowerShell

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

Пути, указанные для поставщика SQL Server PowerShell, должны определять экземпляр ядро СУБД и компьютер, на котором он работает. Синтаксическая конструкция для указания компьютера и экземпляра должна соответствовать правилам для идентификаторов SQL Server и путям Windows PowerShell.

Примечание.

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

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

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

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

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

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

Перед началом

Первый узел, следующий за SQLSERVER:\SQL в пути поставщика SQL Server, — это имя компьютера, на котором выполняется экземпляр ядро СУБД; например:

SQLSERVER:\SQL\MyComputer  

Если вы используете Windows PowerShell на том же компьютере, что и экземпляр ядро СУБД, можно использовать localhost или (local) вместо имени компьютера. Скрипты, в которых указано localhost или (local), можно выполнять на любом компьютере, при этом изменять их путем внесения имен разных компьютеров не требуется.

Можно запустить несколько экземпляров исполняемой программы ядро СУБД на одном компьютере. Узел после имени компьютера в пути поставщика SQL Server определяет экземпляр, например:

SQLSERVER:\SQL\MyComputer\MyInstance  

Каждый компьютер может иметь один экземпляр ядро СУБД по умолчанию. При установке экземпляра по умолчанию указывать для него имя не нужно. При указании в строке соединения только имени компьютера происходит подключение к экземпляру по умолчанию на этом компьютере. Все прочие экземпляры на компьютере должны быть именованными. Имя экземпляра указывается во время установки, а в строке подключения необходимо указывать и имя компьютера, и имя экземпляра.

Ограничения

Для указания локального компьютера в скриптах PowerShell нельзя использовать точку (.). Точка не поддерживается, так как PowerShell интерпретирует точку как команду.

Windows PowerShell обычно обрабатывает символы скобок в (local) как команды. Необходимо либо закодировать, либо экранировать их при использовании в пути, или заключить путь в двойные кавычки. Дополнительные сведения см. в разделе «Шифрование и расшифровка идентификаторов SQL Server».

Поставщик SQL Server требует, чтобы всегда указывалось имя экземпляра. Для экземпляров по умолчанию необходимо указывать имя DEFAULT.

Примеры; имена компьютеров и экземпляров

В этом примере серверный объект устанавливается на экземпляр по умолчанию на локальном компьютере:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT   

Windows PowerShell обычно обрабатывает символы скобок в (local) как команды. Необходимо:

  • заключить строку пути в кавычки;

    Set-Location "SQLSERVER:\SQL\(local)\DEFAULT"  
    
  • экранировать скобки при помощи символа обратной кавычки (`);

    Set-Location SQLSERVER:\SQL\`(local`)\DEFAULT  
    
  • зашифровать скобки с помощью шестнадцатеричного представления:

    Set-Location SQLSERVER:\SQL\%28local%29\DEFAULT  
    

См. также

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