Назад | Перейти на главную страницу

Учетная запись MS SQL Server 2008 sa заблокирована, а вход в систему с проверкой подлинности Windows неактивен

Учетная запись 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:

  1. Открыть с помощью SSMS, используя Run as Administrator
  2. При первом запросе не нажимайте кнопку подключения, а скажите отменить
  3. Откройте новое окно запроса, а затем подключитесь к базе данных с этим окном запроса
  4. Теперь добавьте себя в группу системного администратора 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