Учетная запись sa заблокирована, и даже если включена проверка подлинности в смешанном режиме. Когда я выбираю «Аутентификация Windows», поля «Имя пользователя» и «Пароль» неактивны. Поле имени пользователя содержит мой текущий вход в Windows, а поле пароля пустое. Я вошел в систему с учетной записью администратора Windows, хотя я явно не добавлял эту учетную запись к роли sysadmin SQL-сервера.
Я также пробовал "Запуск от имени администратора" со студией управления SQL-сервером, но проблема не устранена.
Обратите внимание, что SQL-сервер был установлен с другой учетной записью администратора Windows. Не в этом ли причина? Будет ли работать, если я войду под учетной записью, с которой был установлен SQL-сервер?
Спасибо
Устранение неполадок: подключение к SQL Server, когда системные администраторы заблокированы:
разрешение
Запустите экземпляр SQL Server в однопользовательском режиме, используя либо
-m
или-f
параметры. Любой член локальной группы администраторов компьютера может затем подключиться к экземпляру SQL Server как член фиксированной серверной роли sysadmin.
Чтобы запустить SQL с -m
(из консоли, запущенной от имени администратора):
net stop mssqlserver
cd "c:\program files\Microsoft SQL Server\...\MSSQL\binn"
sqlservr -c -m
Или, если у вас есть именованный экземпляр:
net stop mssql$<INSTANCENAME>
cd "c:\program files\Microsoft SQL Server\...\MSSQL\binn"
sqlservr -c -m -s <INSTANCENAME>
Существуют альтернативные способы, как показано на Как: настроить параметры запуска сервера, но я всегда предпочитаю запускать что-то вроде этого из командной строки. После запуска экземпляра с -m
:
Run as Administrator
Теперь добавьте себя в группу системного администратора SQL.
create login [domain\you] from windows;
exec sp_addsrvrolemember 'domain\you', 'sysadmin';
Теперь выключите свой SQL Server и перезапустите его в обычном режиме (снова запустите службу). domain\you
теперь является системным администратором на сервере и может его администрировать. Вам не нужно запускать SSMS от имени администратора.
Вы можете установить смешанный режим SQL Server (если вы активировали только аутентификацию SQL Server) через реестр:
Экземпляр по умолчанию:
"HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer\LoginMode"
к 2
для смешанного режима или 1
для интегрированного.
После перезапуска службы вы должны иметь возможность войти в систему с локальным администратором и снова активировать учетную запись SA.
Другое решение - использовать инструмент - средство смены пароля SQL Server. Он может сбросить ваш пароль sa, а также разблокировать вашу учетную запись, если она была заблокирована или отключена.
Возможно, вам потребуется перевести его в однопользовательский режим (в отличие от более ранних версий, локальным администраторам Windows не предоставляется автоматически доступ к SQL Server 2008): http://blogs.ameriteach.com/chris-randall/2009/12/11/sql-server-2008-forgot-to-add-an-administrator-account.html