SQL: Восстановление доступа к инстансу SQL Server без перезапуска
Начиная с Microsoft SQL Server 2008, по умолчанию группа локальных администраторов больше не добавляется в администраторы SQL Server во время установки, это можно сделать только вручную. В результате, если группа администраторов не была добавлена во время или после установки, то бывают ситуации в которых административный доступ к SQL сервер оказывается утерян. Это может произойти, когда пользователь из под которого выполнялась установка неизвестен или утерян пароль учетной записи sa, или предыдущий администратор баз данных уволился и его учетная запись Windows, будучи единственной с правами администратора для SQL Server, была удалена.
Обычно в таком случае используется штатных механизм с перезапуском SQL Server в однопользовательском режиме. Однако такой подход требует, некоторого времени простоя, а в некоторых системах это неприемлемо.
Есть очень безболезненный способ решить эту проблему без каких-либо простоев, при соблюдении определенных условий. Многие слышали и использовали утилиты Марка Русиновича - Windows Sysinternals. В этом наборе есть утилита PsExec, которая позволяет запустить какой либо процесс на локальной или удаленном машине. Одно из преимуществ этой утилиты является возможность запускать процессы от имени учетной записи NT AUTHORITY\SYSTEM, которая - в отличие от "обычных" учетных записей администратора - имеет доступ к SQL Server по умолчанию.
2. Скачайте и установите на SQL сервер актуальную версию SQL Server Management Studio (SSMS), например, тут
3. Скачайте и распакуйте архив на SQL сервер актуальную версию набора утилит PsTools (PsExec в нее входит), например, PSTools.
2. Выполните команду ниже, скорректировав свой фактический путь до Management Studio:
и запустится SSMS
3. Нажав Connect, Вы сможете подключиться и увидеть список объектов на сервере
4. Теперь, необходимо перейти в раздел Security > Logins и добавить свою учетную запись в качестве системного администратора, и обновить пароль sa, в общем сделать все необходимое, чтобы сделать ваш экземпляр управляемым.
Данный способ хоть и имеет ряд ограничений, однако позволяет без остановки сервера баз данных востановить управление SQL сервером.
Обычно в таком случае используется штатных механизм с перезапуском SQL Server в однопользовательском режиме. Однако такой подход требует, некоторого времени простоя, а в некоторых системах это неприемлемо.
Есть очень безболезненный способ решить эту проблему без каких-либо простоев, при соблюдении определенных условий. Многие слышали и использовали утилиты Марка Русиновича - Windows Sysinternals. В этом наборе есть утилита PsExec, которая позволяет запустить какой либо процесс на локальной или удаленном машине. Одно из преимуществ этой утилиты является возможность запускать процессы от имени учетной записи NT AUTHORITY\SYSTEM, которая - в отличие от "обычных" учетных записей администратора - имеет доступ к SQL Server по умолчанию.
Чтобы этот способ сработал, на SQL Server должна быть включена аутентификация Windows и он должен быть запущен и работать от имени учетной записи NT AUTHORITY\SYSTEM, иначе у учетной записи NT AUTHORITY\SYSTEM будут только права public, а не sysadmin.
Подготовка к восстановлению административного доступа к SQL Server
1. Убедитесь, что служба SQL сервер работает от имени учетной записи NT AUTHORITY\SYSTEM2. Скачайте и установите на SQL сервер актуальную версию SQL Server Management Studio (SSMS), например, тут
3. Скачайте и распакуйте архив на SQL сервер актуальную версию набора утилит PsTools (PsExec в нее входит), например, PSTools.
Добавления администратора SQL Server
1. Запустите на SQL сервере командную строку с повышенными правами (Shift + щелкните правой кнопкой мыши, "Запуск от имени администратора") и перейдите в папку в которую находится распаковали утилиту PsExec2. Выполните команду ниже, скорректировав свой фактический путь до Management Studio:
PsExec -s -i "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"
параметры:- -i - указывает, что необходимо запустить процесс в интерактивном режиме
- -s - указывает, что необходимо запустить процесс от имени системного аккаунта NT AUTHORITY\SYSTEM
и запустится SSMS
3. Нажав Connect, Вы сможете подключиться и увидеть список объектов на сервере
4. Теперь, необходимо перейти в раздел Security > Logins и добавить свою учетную запись в качестве системного администратора, и обновить пароль sa, в общем сделать все необходимое, чтобы сделать ваш экземпляр управляемым.
Данный способ хоть и имеет ряд ограничений, однако позволяет без остановки сервера баз данных востановить управление SQL сервером.
Похожие статьи:
08 сентябрь 2021, Среда
IIS: Как установить IIS на Windows Server 2019?
09 февраль 2021, Вторник
WordPress: Как отключить плагин iThemes Security для WordPress?
27 декабрь 2019, Пятница
Определение даты установки операционной системы (Windows, Linux)
01 октябрь 2019, Вторник
Как установить VMware PowerCLI?
11 март 2019, Понедельник
Как настроить автоматический вход (AutoLogon) в Windows?
Комментарии: