Не удается войти в 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 соединение.

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

Earlz
источник

Ответы:

16

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

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

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

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

С уважением

Liam

Лиам Уэлдон
источник
3
Запуск SSMS в качестве администратора является довольно важным моментом. У меня не получалось без этого.
Мистер Эдмундо,
Ugg, это работает как админ, это боль. мне даже не нужно было переходить в режим -m.
Омциг
8

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

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

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

sqlservr.exe -c -f -m 

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

mrdenny
источник
-m может быть дополнен суффиксом «имя клиента», в моем случае мне нужно, чтобы он был sqlcmd, потому что другие вещи пытались соединиться и украсть мое соединение.
Эрлз
Спасибо, это был правильный ответ для меня с SQL Server 2012. Остановите / отключите другие службы SQL и запустите SSMS от имени администратора.
Ноа Шталь
0

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

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

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

Катастик Вояж
источник
-3

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

Герхард Пауэлл
источник
Почему отрицательные, когда это решение, которое работает?
Герхард Пауэлл
Люди, понижающие голос, должны объяснить, почему это не очень хороший ответ. В противном случае отрицательный ответ бесполезен как плохой ответ.
K_Rol