10

I've been trying all sorts of different combinations of startup flags to SQL Server 2008 R2 Express and I can not get past this error:

Login failed for user 'LOCALSERVER\Administrator'. Reason: Server is in single user mode. Only one administrator can connect at this time. (Microsoft SQL Server, Error: 18461)

I've tried starting it up in Single User mode by both -m"SQLCMD" and -m"sqlcmd" and Iv'e even tried to start it up with -m"Microsoft SQL Server Management Studio - Query" and connecting with the appropriate clients I ALWAYS get this error. I'm 99% sure that nothing else is stealing my connection and when connecting with SSMS I make sure to do the "new query-connect` method to ensure it only uses 1 connection.

Has anyone else had this problem? How do I fix it and login?

16

Here's a solution I just found to this old issue:

  1. Stop all SQL services
  2. Start with -m
  3. Run MSSQL Management Studio As administrator

If not started as administrator (as I wasn't), then you'll receive the generic an admin is already connect. Instead of saying you can't connect because you aren't an administrator.

Another confusing error from Microsoft. I suppose the same issue will exist with a sqlcmd too

Regards

Liam

| improve this answer | |
  • 4
    Running SSMS as Administrator is quite an important point. It wasn't working for me without that. – MrEdmundo Oct 20 '14 at 12:38
  • Ugg, this run as admin stuff is a pain. i didn't even have to go into -m mode. – Omzig Jan 31 '19 at 15:51
10

Despite Microsoft saying otherwise you shouldn't quote after the -m. So for SQLCMD, you'd do -mSQLCMD. I didn't see this said anywhere, so I'll document it here. If nothing else works, try not quoting it.

| improve this answer | |
  • 1
    This was absolutely 100% the problem I had. sqlcmd worked immediately after this. – hlmtre Feb 9 '16 at 22:54
  • @Earlz: Failing to remove the quote marks was absolutely, exactly, entirely my problem as well. (And probably saved me a whole day of work—thank you!) – techvslife Oct 1 '19 at 6:10
  • And apparently it must be SQLCMD not sqlcmd. – RonJohn yesterday
2

There should't be anything after -m. The syntax should look like:

sqlservr.exe -c -f -m 

You then log into the instance using sqlcmd and make the needed changes. If you try to use SQL Server Management Studio to log in you won't be able to as SSMS requires several connections to log in.

| improve this answer | |
  • -m can be optionally suffixed by a "client name", in my case I needed it to be sqlcmd because other things would be trying to connect and steal my connection. – Earlz Dec 6 '11 at 20:55
  • Thanks, this was the right answer for me with SQL Server 2012. Stop/disable other SQL services, and run SSMS as administrator. – Noah Stahl Nov 24 '14 at 4:02
0

I just had this exact problem and all that I had to do was:

  • Stop the main SQL service for my instance.
  • Start it.

I reconnected SQL browser and it worked again. So instead of trying all the extra steps, people should really try the simplest approach that works first before escalating to more thorough attempts.

| improve this answer | |
-3

Changing User Account Control to Never Notify resolved the issue for me

| improve this answer | |
  • Why the downvotes, when it is a solution that works? – Gerhard Powell Aug 18 '17 at 21:17
  • People downvoting should explain why this is not a good answer. Otherwise the downvote is a useless as a bad answer. – K_Rol Oct 27 '17 at 15:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.