Командная строка: создание экземпляра 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
Другие вопросы по тегам