
У меня есть SQL Server 2008, и я хочу проверить/изменить его режим аутентификации. Теперь я видел несколько способов сделать это в Интернете с помощьюУправление SQL-серверомно у меня этого нет..
Есть ли способ сделать это с помощью встроенных средств?Окна/SQL-сервер 2008инструменты?
решение1
Похоже, что режим аутентификации можно определить/изменить, проверив значение ключа реестра.
Если в Management Studio я изменю локальную базу данных с «Только Windows» на «Смешанная» и запишу изменение в новое окно запроса, будет сгенерирован следующий запрос.
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 и т. д., вы можете редактировать реестр напрямую, но обязательно сделайте его резервную копию перед внесением изменений.
Наконец, чтобы изменения вступили в силу, экземпляр необходимо перезапустить.