Устранение неполадок. Соединение с SQL Server в случае, когда системные администраторы заблокированы

В этом разделе описывается, как восстановить доступ к компоненту SQL Server Database Engine в качестве системного администратора. Системный администратор может утратить доступ к экземпляру SQL Server по одной из следующих причин:

  • по ошибке удалены все члены предопределенной роли сервера sysadmin;

  • по ошибке удалены все группы Windows, которые являлись членами предопределенной роли сервера sysadmin;

  • имена входа, являющиеся членами предопределенной роли сервера sysadmin, принадлежат лицам, которые покинули компанию или недоступны;

  • учетная запись sa отключена, или никто не знает ее пароля.

Одним из способов восстановления доступа является повторная установка SQL Server и присоединение всех баз данных к новому экземпляру. Такое решение занимает продолжительное время, а для восстановления имен входа может потребоваться восстановление базы данных master из резервной копии. Если резервная копия базы данных master создана давно, в ней могут отсутствовать некоторые сведения. В более свежей резервной копии базы данных master могут содержаться имена входа, относящиеся к предыдущему экземпляру, и поэтому администраторы по-прежнему будут заблокированы.

Решение

Запустите экземпляр SQL Server в однопользовательском режиме, используя параметр -m или -f. Затем любой член локальной группы администраторов на компьютере может подключиться к экземпляру SQL Server в качестве члена предопределенной роли сервера sysadmin.

ПримечаниеПримечание

При запуске экземпляра SQL Server в однопользовательском режиме сначала нужно остановить службу «Агент SQL Server». В противном случае агент SQL Server может установить соединение первым, что не позволит подключиться второму пользователю.

Если параметр -m используется с командой sqlcmd или в среде Среда SQL Server Management Studio, можно ограничить соединения заданным клиентским приложением. Например, команда -m"sqlcmd" ограничивает соединения одним соединением, которое должно идентифицироваться как клиентская программа sqlcmd. Этот параметр следует использовать, когда SQL Server запускается в однопользовательском режиме, а единственное доступное соединение занято неизвестным клиентским приложением. Для подключения через редактор запросов в среде Management Studio используйте команду -m"Microsoft SQL Server Management Studio - Query".

Важное примечаниеВажно!

Не используйте этот параметр как средство безопасности. Имя клиентского приложения предоставляется приложением, и в составе строки соединения можно указать ложное имя.

Пошаговые инструкции по запуску SQL Server в однопользовательском режиме см. в разделе Как настроить параметры запуска сервера (диспетчер конфигурации SQL Server).