11

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?

Earlz
  • 969
  • 5
  • 12
  • 28

5 Answers5

17

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

Liam Wheldon
  • 283
  • 2
  • 7
12

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.

Earlz
  • 969
  • 5
  • 12
  • 28
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.

mrdenny
  • 27,074
  • 4
  • 40
  • 68
  • -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 06 '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 04:02
1

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.

-3

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

  • 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
  • I didn't downvote but the answer doesn't explain how updating UAC in Windows was related, or why it was attempted. Same thing if I were to say "I ate a pizza and it worked", except in this case it's more like "I ate a pizza in the middle of the highway and it worked" since modifying UAC is a potential security risk for an application issue. At the core, changing UAC to never notify basically makes you an admin, which might be the real issue, but instead of doing that, you're really bringing all of the shields down. If someone follows this they are worse off. – Dan Chase Aug 12 '21 at 15:54