Сброс пароля SA в MS SQL Server 2012 | Windows для системных администраторов

Сброс пароля SA в MS SQL Server 2012

В этой заметке рассмотрим процедуру восстановления доступа к БД на MS SQL Server 2012 в том случае, если пароль SA был успешно забыт или отсутствуют пользователи с правами административного управления MS SQL 2012. Мы покажем, как сбросить пароль учетной записи sa, и, если необходимо, предоставить нужной учетной записи Windows права администратора MSSQL.

Ситуации, когда утерян / забыт пользователя SA на СУБД MS SQL случаются довольно часто. Как правило, вариант переустановки SQL и переподключения БД не рассматривается, т.к. в таком разе будут потеряны параметры конфигурации, хранящиеся в системной БД master. SQL Server предоставляет гораздо более удобный функционал восстановления доступа. Дело в том, что члены локальной группы администраторов системы, на которой установлен SQL Server, имеют полные полномочия на СУБД, запущенной в однопользовательском режиме (single-user mode). Запустив SQL Server в однопользовательском режиме, можно изменить пароль учетной записи SA, и/или предоставить административные права нужной ученой записи Windows.

Совет. Напомним, что начиная с SQL Server 2008 локальная группа администраторов системы, на которой установлен SQL Server, по-умолчанию не добавлена в роль sysadmin на SQL сервере.

Процедура запуска SQL Server 2012 в однопользовательском режиме и восстановления доступа такова (главное условие – необходимо обладать правами администратора системы, на которой установлен MSSQL):

  1. Останавливаем службу необходимого инстанса SQL Server (в нашем случае имя инстанса MSSQL — EPOSERVER) : net stop MSSQL$EPOSERVER
  2. Открываем редактор реестра (regedit.exe) и переходим в раздел параметров запуска сервиса SQL: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ MSSQL$EPOSERVER
  3. Изменяем значение ImagePath, добавив в качестве аргумента sqlservr.exe ключ «-m». В нашем примере получилось такое значение: "C:\Program Files\Microsoft SQL Server\MSSQL11.EPOSERVER\MSSQL\Binn\sqlservr.exe” -m -s sEPOSERVERMSSQL ImagePath - режим монопольного запуска SQL
  4. Запускаем службу SQL Server: net start MSSQL$EPOSERVER
  5. Теперь SQL запущен в однопользовательском режиме и позволяет любому члену локальной группы администраторов компьютера подсоединяться к экземпляру SQL Server с правами sysadmin.
  6. С помощью Management Studio измените пароль SA или предоставьте нужной учетной записи Windows роль sysadmin (Эту операцию можно выполнить из командной строки sqlcmd: EXEC sp_addsrvrolemember 'DOMAIN\Username', 'sysadmin';)
  7. Осталось еще раз остановить службу SQL, изменить значение ключа ImagePart на оригинальное, убрав атрибут “-m” (“C:\Program Files\Microsoft SQL Server\MSSQLEPOSERVER\MSSQL\Binn\sqlservr.exe» -s sEPOSERVER”) и запустить SQL Server в обычном режиме
Совет. В момент написания статье обнаружил, что SQL Server 2012 можно запустить в однопользовательском режиме и из SQL Server Configuration Manager. Для этого в свойствах нужного инстанса на вкладке Advanced у параметра Startup Parameters добавить аргумент «-m;» . Сброс пароля администратора MS SQL 2012
В остальном —  вся процедура аналогична.
Еще записи по теме: SQL Server
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Есть 1 комментарий

Оставить комментарий
  1. Олег | 13.05.2015

    Спасибо за заметку! Я раньше не знал, что можно так сделать. Интересно!

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)



MAXCACHE: 0.24MB/0.00113 sec