Не удается войти в SQL Server в однопользовательском режиме


9

Я пробовал все виды различных комбинаций флагов запуска для SQL Server 2008 R2 Express, и я не могу обойти эту ошибку:

Не удалось войти в систему для пользователя «LOCALSERVER \ Администратор». Причина: сервер находится в однопользовательском режиме. Только один администратор может подключиться в это время. (Microsoft SQL Server, ошибка: 18461)

Я попытался запустить его в однопользовательском режиме обоими, -m"SQLCMD"и -m"sqlcmd"Iv'e даже попытался запустить его -m"Microsoft SQL Server Management Studio - Query"с соответствующими клиентами, и я ВСЕГДА получаю эту ошибку. Я на 99% уверен, что больше ничего не крадет мое соединение, и при соединении с SSMS я обязательно использую метод «новый запрос-соединение», чтобы убедиться, что он использует только 1 соединение.

У кого-нибудь еще возникла такая проблема? Как мне это исправить и войти?

Ответы:


16

Вот решение, которое я только что нашел для этой старой проблемы:

  1. Остановите все службы SQL
  2. Начать с -m
  3. Запустите MSSQL Management Studio от имени администратора.

Если вы не начинаете как администратор (как я не был), то вы получите общий администратор, который уже подключен. Вместо того, чтобы говорить, что вы не можете подключиться, потому что вы не администратор.

Еще одна непонятная ошибка от Microsoft. Я полагаю, такая же проблема будет существовать и с sqlcmd

С уважением

Liam


3
Запуск SSMS в качестве администратора является довольно важным моментом. У меня не получалось без этого.
— Мистер Эдмундо,

Ugg, это работает как админ, это боль. мне даже не нужно было переходить в режим -m.
— Омциг

8

Несмотря на то, что Microsoft говорит иначе, вы не должны цитировать после -m. Так что для SQLCMD, вы бы сделали -mSQLCMD. Я не видел, чтобы это было сказано нигде, поэтому я задокументирую это здесь. Если ничего не работает, попробуйте не цитировать его.


1
Это была абсолютно 100% проблема, с которой я столкнулся. sqlcmd работал сразу после этого.
— июля

@Earlz: Отказ от удаления кавычек был абсолютно, абсолютно моей проблемой. (И, вероятно, спас мне целый день работы - спасибо!)
— techvslife

2

Там не должно быть ничего после -m. Синтаксис должен выглядеть так:

sqlservr.exe -c -f -m 

Затем вы входите в экземпляр с помощью sqlcmd и вносите необходимые изменения. Если вы попытаетесь использовать SQL Server Management Studio для входа, вы не сможете этого сделать, поскольку для SSMS требуется несколько подключений для входа.


-m может быть дополнен суффиксом «имя клиента», в моем случае мне нужно, чтобы он был sqlcmd, потому что другие вещи пытались соединиться и украсть мое соединение.
— Эрлз

Спасибо, это был правильный ответ для меня с SQL Server 2012. Остановите / отключите другие службы SQL и запустите SSMS от имени администратора.
— Ноа Шталь

0

У меня была именно эта проблема, и все, что мне нужно было сделать, это:

  • Остановите основную службу SQL для моего экземпляра.
  • Начни это.

Я переподключил браузер SQL, и он снова заработал. Поэтому вместо того, чтобы пробовать все дополнительные шаги, люди должны действительно попробовать самый простой подход, который работает в первую очередь, прежде чем перейти к более тщательным попыткам.


-3

Изменение контроля учетных записей пользователей на «Никогда не уведомлять» решило проблему для меня


Почему отрицательные, когда это решение, которое работает?
— Герхард Пауэлл

Люди, понижающие голос, должны объяснить, почему это не очень хороший ответ. В противном случае отрицательный ответ бесполезен как плохой ответ.
— K_Rol
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.