Получение полномочий администратора на Microsoft SQL Server

Преамбула:
Недавно столкнулся с довольно странной проблемой и спешу поделиться с вами её решением. Но сначала о проблеме. Кто-то (не вы) установил Microsoft SQL Server и не оставив никакой документации благополучно покинул компанию. Вам необходимо убедиться, что резервные копии баз данных делаются исправно и доступ есть только у тех пользователей и приложений, которым он необходим. Но...

Симптоматика:
Приложения (в моем случае это был Sharepoint Server 2010 и Dynamics CRM 4.0) нормально работают с установленным SQL Server. Вы можете подключиться к нему с помощью SQL Server Management Studio, но ваш доступ ограничен только чтением (Read Only). Попытки обращаться к серверу от учетной записи с правами доменного администратора (Domain Admin) или локального администратора (Local Admin), так же не дают желаемого результата. Остается вопрос: как в этой ситуации получить доступ к SQL Server? Читаем далее...

Решение:
1. Необходимо остановить все службы и приложения работающие с SQL Server (позже будет понятно почему).
2. Заходим на Windows-сервер, на котором установлен SQL Server, с правами локального администратор (Local Admin) и останавливаем службу SQL Server.
3. Запускаем командную строку (cmd) с повышенными привилегиями.
4. Теперь пора запустить SQL Server в однопользовательском режиме (single user mode). Для этого необходимо запустить "sqlservr.exe" с ключом "-m". В моем случае команда выглядела следующим образом: "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe" -m. Работая в однопользовательском режиме, как вы уже догадались из названия, к SQL Server одновременно может подключиться только один пользователь. И этой возможностью с удовольствием воспользуется Sharepoint Server, Dynamics CRM, Reporting Services или любое другое приложение, которое вы забыли отключить на первом шаге. Плюс в том, что в консоли вы сможете увидеть кто подключился к SQL Server, а значит сможете заставить это приложение отключиться и не мешать вам работать.
5. Теперь, когда все приложения и службы, которые могли вам помешать, отключены, а SQL Server запущен в однопользовательском режиме, пора запустить SQL Management Studio. Подключившись под учетной записью локального администратора у вас будут все необходимые полномочия для администрирования SQL Server.
6. После того, как вы предоставили соответствующим группам и пользователям (в первую очередь себе) права на администрирование SQL Server, пора вернуть его в нормальный режим работы. Для этого переключитесь обратно в командную строку, в которой работает SQL Server и нажмите Control + C. Можете снова запускать все службы и приложения, которые хранят данные на этом SQL Server, предварительно запустив непосредственно саму службу SQL Server (в моем случае она называлась SQL Server (MSSQLSERVER)).

Готово!
Занавес. 🙂

На сообщение “Получение полномочий администратора на Microsoft SQL Server” комментария 2

  1. Владимир:

    Что Вы пишите, что за бред да нет такой службы MSSQLSERVER. У меня стоит sql server, но с консоли он не видится, значит команада неправильная

  2. Дмитрий:

    Хорошее руководство. Если делать по инструкции — проблем никаких не возникнет.