У меня есть установщик, который запускает установщик 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" в командной строке.