Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
По умолчанию компоненты SQL Server PowerShell при создании подключения к ядру СУБД используют проверку подлинности Windows. Используйте проверку подлинности SQL Server, определив виртуальный диск PowerShell или указав параметры -Username и -Password для Invoke-Sqlcmd.
Замечание
Существует два модуля SQL Server PowerShell; SqlServer и SQLPS.
Модуль SqlServer — это текущий модуль PowerShell для использования.
Модуль SQLPS включен в установку SQL Server (для обратной совместимости), но больше не обновляется.
Модуль SqlServer содержит обновленные версии командлетов в SQLPS и включает новые командлеты для поддержки последних функций SQL.
Установите модуль SqlServer из коллекции PowerShell.
Дополнительные сведения см. в SQL Server PowerShell.
Разрешения
Все действия, которые могут быть выполнены на экземпляре ядра СУБД, определяются разрешениями тех учетных данных, которые использовались для подключении к этому экземпляру. По умолчанию для подключения к ядру СУБД с проверкой подлинности Windows командлеты и поставщик SQL Server используют учетную запись Windows, под которой они были запущены.
Чтобы подключиться к проверке подлинности SQL Server, необходимо указать идентификатор входа и пароль проверки подлинности SQL Server. При использовании поставщика SQL Server необходимо связать учетные данные входа SQL Server с виртуальным диском, а затем использовать команду каталога изменений (cd) для подключения к нему. В Windows PowerShell учетные данные безопасности можно связывать только с виртуальными дисками.
Проверка подлинности SQL Server с помощью виртуального диска
Создание виртуального диска, связанного с именем входа проверки подлинности SQL Server.
Создайте функцию, которая:
Имеет параметры для имени, назначаемого виртуальному диску, идентификатора имени входа и пути поставщика, который будет связан с виртуальным диском.
Использует узел чтения для запроса пользователя на ввод пароля.
Использует новый объект для создания объекта учетных данных.
Использует new-psdrive для создания виртуального диска с предоставленными учетными данными.
Вызовите функцию, чтобы создать виртуальный диск с указанными учетными данными.
Пример. Виртуальный диск
В этом примере создается функция с именем sqldrive , которую можно использовать для создания виртуального диска, связанного с указанным именем входа и экземпляра проверки подлинности SQL Server.
Функция sqldrive запрашивает ввод пароля для имени входа, скрывая символы пароля при их вводе. Затем при использовании команды каталога изменений (cd) для подключения к пути с использованием имени виртуального диска все операции выполняются с помощью учетных данных для входа проверки подлинности SQL Server, предоставленных при создании диска.
## Create a function that specifies the login and prompts for the password.
function sqldrive
{
param( [string]$name, [string]$login = "MyLogin", [string]$root = "SQLSERVER:\SQL\MyComputer\MyInstance" )
$pwd = read-host -AsSecureString -Prompt "Password"
$cred = new-object System.Management.Automation.PSCredential -argumentlist $login,$pwd
New-PSDrive $name -PSProvider SqlServer -Root $root -Credential $cred -Scope 1
}
## Use the sqldrive function to create a SQLAuth virtual drive.
sqldrive SQLAuth
## Set-Location to the virtual drive invokes the supplied authentication credentials.
sl SQLAuth:
Проверка подлинности SQL Server с помощью Invoke-Sqlcmd
Использование Invoke-Sqlcmd с проверкой подлинности SQL Server.
- Используйте параметр -Username , чтобы указать идентификатор входа и параметр -Password , чтобы указать связанный пароль.
Пример (Invoke-Sqlcmd)
В этом примере используется командлет узла чтения для запроса пользователя на ввод пароля, а затем подключения с помощью проверки подлинности SQL Server.
## Prompt the user for their password.
$pwd = read-host -AsSecureString -Prompt "Password"
Invoke-Sqlcmd -Query "SELECT GETDATE() AS TimeOfQuery;" -ServerInstance "MyComputer\MyInstance" -Username "MyLogin" -Password $pwd