войти · зарегистрироваться
А вы знаете, что:
Каждый ёлпер приносит пользу.

Реклама ↓

Восстановление доступа к базе данных SQL Server

Иногда бывает, что при изменении системных параметров СУБД Microsoft SQL Server можно потерять доступ к серверу. В этом ёлпере показано, как восстановить контроль над SQL Server и, в частности, произвести откат сделанных изменений.
В случаи аварии, SQL Server можно запустить только в однопользовательском режиме, поэтому, чтобы кто-нибудь не занял заветное и единственное соединение, необходимо перекрыть доступ к БД всем, кому она может понадобиться.

Например, если SQL Server используется на веб-сервере, то необходимо отключить IIS. Отключить IIS можно из командной строки:

net stop "Служба IIS Admin"


Нажмите меню Пуск => Выполнить.

6351392488228895596681.png
В появившемся окне введите «cmd» и нажмите на кнопку «Ok», чтобы запустить командную строку.

6351392488241375616681.png
В появившемся окнее консоли введите строку:

net stop "Служба IIS Admin"


и нажмите на клавишу ВВОД (ENTER). Система запросит разрешение на остановку зависимых служб. Введите «Y» и нажмите на клавишу ВВОД (ENTER).

6351392488247615626681.png
Через некоторое время мешающие службы будут остановлены, о чем появится сообщение в окне консоли.

Примечание: в английской версии имя службы «Служба IIS Admin» может отличаться. Узнать точное имя службы можно в разделе «Службы» в панели управления Windows. Собственно, остановить службу можно визуально, прямо в разделе «Службы» (нажать на кнопку «Стоп»).

Теперь нужно запустить службу SQL Server в однопользовательском режиме. Сделать это можно только из командной строки. Запустите командную строку, как описано выше: Пуск => Выполнить => cmd.

Введите команду:

net start "!SQL Server (SQLEXPRESS)!" /f /T3608


Обратите внимание, красным выделено имя службы, у вас оно может отличаться. Посмотреть имя службы можно, например, в разделе «Службы» панели управления Windows.

6351392488256975646681.png
После успешно запуска службы, в окне консоли появится соответствующее сообщение.

6351392488267895666681.png
Введите команду:
sqlcmd


Если сервер выдаст сообщение: «Login failed for user 'имя пользователя'. Reason: Server is in single user mode. Only one administrator can connect at this time.», убедитесь в том, что никто не подключен к SQL Server. Поскольку сервер запущен в однопользовательском режиме, у вас есть всего одно подключение к серверу. Если кто-то, или что-то, займет появившееся после запуска службы SQL Server соединение, вы не сможете ничего сделать. Чтобы завершить все соединения, остановите службу:

net stop "SQL Server (SQLEXPRESS)"


и затем запустите заново, командной net start.

Предположим, что вам удалось запустить командную строку. Дальше все просто, нужно выполнить обычные SQL-команды, чтобы откатить изменения, которые привели вас в этот ёлпер. Командная строка будет работать в режиме «блокнота», вы можете использовать все доступные возможности языка структурированных запросов (SQL) и системные функции и процедуры SQL Server. Единственное, о чем стоит упомянуть, после ввода необходимых инструкций, чтобы запустить процесс их выполнения, нужно ввести команду:

GO


6351392488278815686681.png
Чтобы завершить работу с командной строкой SQL Server, достаточно ввести команду:

exit


Чтобы все сделанные изменения вступили в силу, перезапустите SQL Server, а еще лучше, сервер целиком.

Удачи!

Нам важно знать ваше мнение

Пожалуйста, помогите нам понять, насколько полезна информация на этой странице, помогла ли она решить возникшие у вас проблемы? Для ответа, нажмите на одну из трех кнопок:

0

Twitter Mail.Ru Facebook Вконтакте Я.ру ЖЖ
Постоянный адрес этого ёлпера:
Разместить в блоге:
Разместить на форуме:
помогло 20 · не помогло 0 · просмотров 3180
03 ноября 2011 → 20:55 · @Алексей Немиро
@madalex3006 · 23 августа 2012 → 01:55
Жаль но это не то что я искал! Но было интересно прочитать, спасибо. Знания всегда нужно получать не прямым путем!