Командная строка: создание экземпляра SQL с использованием только входа с проверкой подлинности SQL Server
Моя цель - незаметно установить SQL Server 2019 Express через командную строку.
Вот сценарий, который я придумал для настройки установки (примечание SETUP.exe
это установочный файл SQL Server Express):
SETUP.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /FEATURES=SQL
/INSTANCENAME=MyInstance /SQLSVCACCOUNT="NT Authority\System"
/ADDCURRENTUSERASSQLADMIN /AGTSVCACCOUNT="NT Authority\System"
/SECURITYMODE=SQL /SAPWD="Pa$$w0rd"
/SQLTEMPDBDIR="C:\MSSQL\TempDB\\" /SQLUSERDBDIR="C:\MSSQL\Data\\"
/SQLUSERDBLOGDIR="C:\MSSQL\Log\\"
Я хотел бы создать экземпляр SQL Server только с новым аутентифицированным логином SQL Server. В/ADDCURRENTUSERASSQLADMIN
Параметр указывает SQL Server автоматически использовать текущего пользователя в качестве администратора. Если я установлю значение false, мне придется использовать/SQLSYSADMINACCOUNTS="Domain\User"
который затем устанавливает любого пользователя (если он существует) в качестве входа в SQL Server с проверкой подлинности Windows.
Я хочу указать новый логин SQL с паролем, который видит /SAPWD="Pa$$w0rd"
команда. Я получаю логин SQL Server, который аутентифицирован SQL Server с именем входаsa
и любой пароль, который я установил, однако пользователь Windows по-прежнему получает полный доступ с аутентификацией Windows. Прямо сейчас я могу использоватьsa
Войдите, чтобы отказаться от входа пользователя Windows, но это кажется неэффективным.
Есть ли способ сделать это с помощью моего командного сценария?
1 ответ
У вас должен быть вход в Windows в качестве системного администратора, но вы можете выбрать другого пользователя, а не пользователя, выполняющего установку. NT Authority\System - это безопасный выбор, поскольку этот идентификатор уже может стать владельцем экземпляра SQL Server. И вы должны использовать значения по умолчанию для учетных записей служб, так как гораздо безопаснее не иметь такой привилегированной учетной записи, как ваша учетная запись службы.
Так
.\SETUP.exe /Q /IACCEPTSQLSERVERLICENSETERMS /ACTION=install /FEATURES=SQL /INSTANCENAME=MyInstance /SECURITYMODE=SQL /SAPWD="Pa$$w0rd" /SQLSYSADMINACCOUNTS="NT Authority\System" /ADDCURRENTUSERASSQLADMIN=False