Похоже, что режим аутентификации можно определить / изменить, проверив значение ключа реестра.
В Management Studio, если я изменю свою локальную базу данных с Windows только на Mixed и запишу изменение в новом окне запроса, он сгенерирует следующий запрос.
EXEC xp_instance_regwrite
N'HKEY_LOCAL_MACHINE'
, N'Software\Microsoft\MSSQLServer\MSSQLServer'
, N'LoginMode'
, REG_DWORD
, 2
Если у вас не установлена SSMS , возможно, у вас установлен sqlcmd . Вызов будет что-то вроде
sqlcmd.exe -S MyServer -d master -Q "EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2"
Возможно, вам придется использовать xp_regwrite против xp_instance_regwrite в зависимости от того, есть ли у вас несколько экземпляров на сервере (мой пример делает). Эта статья о sswug показывает это с помощью xp_regwrite.
Если у вас даже не установлен sqlcmd/osql и т.д., Вы можете редактировать реестр напрямую, но обязательно сделайте резервную копию перед внесением изменений.
Наконец, экземпляр должен быть перезапущен, прежде чем изменение вступит в силу.