Указание экземпляров в поставщике SQL Server PowerShell
Пути, указанные для поставщика SQL Server для PowerShell, должны идентифицировать экземпляр компонента Компонент Database Engine и компьютер, на котором он запущен. Синтаксическая конструкция для указания компьютера и экземпляра должна соответствовать правилам для идентификаторов SQL Server и путям Windows PowerShell.
Перед началом работы выполните следующие действия. Ограничения
Указание экземпляра: Примеры
Перед началом
Первый узел, следующий за SQLSERVER:\SQL в пути поставщика SQL Server, является именем компьютера, на котором выполняется экземпляр компонента Компонент Database Engine, например:
SQLSERVER:\SQL\MyComputer
Если среда Windows PowerShell установлена на одном компьютере с экземпляром компонента Компонент Database Engine, то вместо имени компьютера можно использовать localhost или (local). Скрипты, в которых указано localhost или (local), можно выполнять на любом компьютере, при этом изменять их путем внесения имен разных компьютеров не требуется.
На одном и том же компьютере можно запустить несколько экземпляров исполняемой программы компонента Компонент Database Engine. Узел после имени компьютера в пути поставщика SQL Server определяет экземпляр, например:
SQLSERVER:\SQL\MyComputer\MyInstance
На каждом компьютере может быть только один экземпляр компонента Компонент Database Engine по умолчанию. При установке экземпляра по умолчанию указывать для него имя не нужно. При указании в строке соединения только имени компьютера происходит подключение к экземпляру по умолчанию на этом компьютере. Все прочие экземпляры на компьютере должны быть именованными. Имя экземпляра указывается во время установки, а в строке подключения необходимо указывать и имя компьютера, и имя экземпляра.
Ограничения
Для указания локального компьютера в скриптах 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