2012-05-22 3 views
2

Я пытаюсь восстановить пароль моего локального сервера sql-сервера.Не удается запустить sql-сервер в однопользовательском режиме

Я прочитал, что должен поместить его в однопользовательском режиме, и я сделал это.

Я добавил -m; к параметрам запуска.

У меня нет агента sql, и я перезапустил сервер Sql.

Когда я пытаюсь:

sqlmd -S .\sqlexpress 

Я получаю сообщение:

Login failed for the user 'mydomain\myuser'. reason: server is in single user mode. 
only one administrator can connect at this time. 

Я также попытался изменить параметр запуска, чтобы:

-mSQLCMD 

но я получаю ту же ошибку.

+1

Это будет лучше ответить на ServerFault.com – Sung

ответ

8

ли вы попробовать:

NET STOP MSSQLSERVER 

… give it a minute … 

NET START MSSQLSERVER /m 
+0

Ну, я уже перезапустил его много раз .... и параметры запуска имеют -m; – loyalflow

+0

Это сработало, спасибо человеку! – loyalflow

+0

странная вещь, хотя, когда я создаю пользователя, я не вижу пользователя в области логинов, и я не могу войти с ним. – loyalflow

1

То, что сработало для меня то, что в принципе то же самое, но я не ожидал, что я должен делать.

NET STOP [MSSQLSERVERName]

NET START [MSSQLSERVERName]/м/с/ф

No Go (Но на самом деле это то, что работало)

Теперь, сначала я подумал ничего не изменилось, потому что я получил сообщение об ошибке, что сервер не может быть запущен. Я также проверил конфигуратор конфигурации sql-сервера и проверил статус службы. В тех случаях, когда он обычно читает начатое или остановленное, он считывает ожидающие изменения.

Неожиданное Повесьте

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

И работает

Я попробовал чистую команду запуска еще раз с последующей проверкой SQL Manager конфигурации снова - снова «в ожидании изменений ...» -. Но на этот раз я запустил Sql Server Management Studio, и я снова вернулся к делу, к счастью!

-c
Запуск службы SQL Server независимо от диспетчера управления службами. Это ускоряет запуск.

-f Этот флаг запускает SQL Server с минимальной конфигурацией и позволяет обновлять системные таблицы. Это полезно, если администратор базы данных настроил параметры конфигурации, чтобы служба не запускалась.Если вы окажетесь в такой ситуации, вы оцените флаг «-f», поскольку это может быть единственным способом исправить ошибки в конфигурации SQL Server.

-m
Запуск SQL Server в однопользовательском режиме. Это означает, что только один пользователь может подключиться к серверу за один раз, и разрешены специальные обновления системных таблиц. Кроме того, опция -m не запускает CHECKPOINT. Однопользовательский режим полезен, когда одна из системных баз данных повреждена, и вам необходимо перезагрузить ее из резервной копии.

1

Microsoft сообщает, что вы не должны начинать sqlserver.exe с помощью командной строки для чего-нибудь, но тест: «SQL Server должен быть запущен только из командной строки для устранения неполадок»:

https://technet.microsoft.com/en-us/library/ms180965(v=sql.105).aspx

Это также советует не использовать сетевую остановку, поскольку это приводит к непредсказуемым результатам.

Решение для сброса пароля sa - запуск SQL-сервера в однопользовательском режиме; это достигается с помощью флага -m, и это должно быть установлено через диспетчер конфигурации SQL Server, как указано в MSDN; смотрите шаг 4 из Пошаговая инструкция:

https://msdn.microsoft.com/en-us/library/dd207004.aspx

Если вы хотите сбросить пароль в SSMS UI, то вы должны первую сказать диспетчера конфигурации SQL, что SSMS вещь, которая будет начать SQL Server;

Таким образом, ваш -m дополнение флаг к началу Параметры запуска на вкладке Дополнительно свойств SQL Server в SQL Congifuration Manager, должен быть (в том числе с запятой) следующим

-m»Управление Microsoft SQL Server Studio - Query ";

Если вы этого не сделаете, вы получите предупреждение в SSMS, в котором сообщается, что он не может войти в систему с sa, поскольку он находится в режиме одного пользователя.

Не забудьте удалить этот флаг запуска после завершения.

В режиме одного пользователя, вы должны быть в состоянии восстановить пароль: Открыть SSMS: папку

  1. Развернуть безопасности
  2. правой кнопкой мыши на са счет
  3. Изменение пароля
0

Убедитесь, что все Службы SQL Server остановлены, за исключением экземпляра SQL Server себя. Я потратил час, пытаясь разрешить это, только чтобы узнать, что служба SQL Server VSS Writer работает все время и подключается, как только экземпляр запускается в однопользовательском режиме. Я должен был остановить его вручную, а затем смог войти в систему и разблокировать учетную запись sa.

Смежные вопросы