Как включить вход в систему sa при автоматической установке SQL Server 2014 Express? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть установщик, который запускает установщик SQL Server 2014 Express в автоматическом режиме.

По сути, он создает командную строку и запускает установку.

Моя проблема в том, что мне нужночтобы иметь возможность подключиться к установленному экземпляру с правами администратора с использованием аутентификации SQL Server.

В командной строке уже содержится /SECURITY MODE=SQL.Я могу создать учетную запись SQL и войти успешно, так что часть проблемы работает нормально.

Моя проблема в том, что хотя я вижу sa в sys.server_principals, он помечен как is_disabled, и яне удается войти в систему, используя его.

Есть ли способ при автоматической установке SQL Server 2014 передать аргументы командной строки, которые позволят ему включить sa, чтобы я мог успешно войти в систему, используя его?

Или какой-нибудь другой логин, если это проще.

Мне нужен sql_login, который я могу использовать для подключения к базе данных в качестве администратора БД, не обращая внимания на разрешения входа в систему.Пользователь Windows, после запуска установщика в автоматическом режиме.

Полные аргументы командной строки:

/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=SQL 
    /INSTANCENAME=SQLEXPRESS /SAPWD="SQLSVCPASSWORD"

Если я войду в Windows, используя учетную запись администратора, я могу подключиться к базе данных, используя Windowsаутентификация.Затем я могу создать нормальную учетную запись SQL Server.После этого я могу войти с использованием аутентификации SQL Server и этой учетной записи.

Так что я уверен, что БД находится в смешанном режиме.И это:

Exec xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode'

возвращает '2'.

Моя проблема в том, что мне нужно, чтобы пользователи могли запускать программное обеспечение, не будучи администратором Windows.И часть того, что программное обеспечение должно уметь делать - это удалять и создавать базы данных внутри экземпляра.

Поэтому мне нужны разрешения администратора SQL, независимо от того, имеют ли пользователи Windows повышенные разрешения.

===

Инструмент установки, который я использую, настроен с использованием файлов XML, содержащих в себе сценарии LUA, которые создают и запускают командные строки пакета установщика Windows.Между вложенными языками и различными уровнями экранирования я не заметил, что аргумент "/ SECURITYMODE = SQL" закомментирован и не включен в командную строку.

С учетом того, что он включен в командную строку,пользователь "sa" включен.

TL; RD Если вы хотите, чтобы пользователь "sa" включался после установки, включите "/ SECURITYMODE = SQL" в командной строке.

1 Ответ

0 голосов
/ 15 октября 2018

Вам также необходимо указать /SAPWD при использовании /SECURITYMODE=SQL.Я не уверен, но если вы не укажете пароль, он будет отключен по умолчанию.

Посмотрите эту статью https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-2017 для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...