我错误地将tempDB文件的位置更改为
' C:\ Program Files \ Microsoft SQL 服务器\ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \'
而不是
' C:\ Program Files \ Microsoft SQL 服务器\ MSSQL10_50.MSSQLSERVER \ MSSQL \ DATA \ tempdb.mdf'
我现在无法登录SSMS,也无法启动SQL服务。此外,我尝试使用net start msqsqlserver /f /t3608
登录,但是当我尝试SQLCMD时,我收到此错误“
原因:服务器处于单用户模式。只有一个管理员可以 此时连接
`
答案 0 :(得分:0)
从命令行将SQL作为服务进行攻击,我的实例名称是SQL2K8R2,所以下面的命令是
Net Start MSSQL $ SQL2K8R2 / m“SQLCMD”
如果你有默认实例,那么" Net Start MSSQLServer / m“SQLCMD”"
在单一使用模式下启动SQL Service后,只有SQLCMD应用程序可以连接,其他连接会收到错误消息。
2013-12-06 09:13:50.08 Server Registry startup parameters:
-d E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\master.mdf
-e E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log\ERRORLOG
-l E:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\mastlog.ldf
2013-12-06 09:13:50.08 Server Command Line Startup Parameters:
-s "MSSQLSERVER"
-m "SQLCMD"
…
2013-12-06 09:13:50.80 spid4s Warning ******************
2013-12-06 09:13:50.80 spid4s SQL Server started in single-user mode. This an informational message only. No user action is required.
….
2013-12-06 09:14:32.93 Logon Error: 18461, Severity: 14, State: 1.
2013-12-06 09:14:32.93 Logon Login failed for user ‘Contoso\demouser’. Reason: Server is in single user mode. Only one administrator can connect at this time. [CLIENT: <local machine>]
答案 1 :(得分:0)
这意味着其他东西正在抓住单一连接 您的SSMS或某个以“sa”运行的应用程序。
所以,添加-m开关
net start msqsqlserver /f /t3608 /m"sqlcmd"
然后正常启动SQLCMD