none
【入门求助】单用户模式下如何用SSMS登录? RRS feed

  • 问题

  • SQL 2008 R2 SP1

    给SQL Server服务的启动参数加上-m后,已单用户模式启动。但再用ssms的【新建查询】登录,无论是Windows身份验证还是SQL身份验证都提示:

    用户XX登录失败。原因:服务器处于单用户模式。目前只有一位管理员能够连接。

    郁闷~我能不是以一位管理员登录么?我还能同时以几个管理员登录不成,操蛋的微软提示!

    2012年7月30日 3:44

答案

  • 我是这样做的,可以通过SSMS连接至单用户模式下的DATABASE ENGINE,请问你是怎么做的?

    步骤一、设定启动参数【-m】,然后重新启动 SQL Server 服务。

    步骤二、因为默认开启 SSMS 会去启动 Object Explorer 连接来 Database Engine,请先按 Cancel,再自行按 New Query 就可以顺利连接了。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/


    2012年7月30日 6:05
  • 或许你可以参考MSDN上的说明。

    在单用户模式下启动 SQL Server 实例时,SQL Server Management Studio 可以连接到 SQL Server。 Management Studio 中的对象资源管理器可能会失败,因为在某些操作中它需要使用多个连接。 sqlcmd 实用工具。

    -m 选项与 sqlcmd 或 Management Studio 结合使用时,可以将连接限制为指定的客户端应用程序。 -m"sqlcmd" 将连接限制为单个连接并且该连接必须将自身标识为 sqlcmd 客户端程序。 当您正在单用户模式下启动 SQL Server 并且未知的客户端应用程序正在占用这个唯一的可用连接时,使用此选项。 -m"Microsoft SQL Server Management Studio - Query"。

    http://msdn.microsoft.com/zh-cn/library/ms188236.aspx


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 4:08
  • 这个提示的意思是,只能有一个连接

    在 ssms 里面看下,你是否把对象浏览器打开了,这个要占用一个连接的,如果有打开,需要把它关掉(断开连接)

    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 5:55
  • 一般启动ssms 的时候会有一个连接登录的窗口,从这里面直接登录的话,默认开把对象浏览器的连接,这个时候应该选择取消,然后点新建查询窗口哑连接
    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 5:57

全部回复

  • 或许你可以参考MSDN上的说明。

    在单用户模式下启动 SQL Server 实例时,SQL Server Management Studio 可以连接到 SQL Server。 Management Studio 中的对象资源管理器可能会失败,因为在某些操作中它需要使用多个连接。 sqlcmd 实用工具。

    -m 选项与 sqlcmd 或 Management Studio 结合使用时,可以将连接限制为指定的客户端应用程序。 -m"sqlcmd" 将连接限制为单个连接并且该连接必须将自身标识为 sqlcmd 客户端程序。 当您正在单用户模式下启动 SQL Server 并且未知的客户端应用程序正在占用这个唯一的可用连接时,使用此选项。 -m"Microsoft SQL Server Management Studio - Query"。

    http://msdn.microsoft.com/zh-cn/library/ms188236.aspx


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 4:08
  • 谢谢Terry,这文档我看了,就是不知道具体操作,例如-m"Microsoft SQL Server Management Studio - Query"这个语句要加在什么地方?启动参数中我加了试过了,不行。
    2012年7月30日 4:35
  • 这个提示的意思是,只能有一个连接

    在 ssms 里面看下,你是否把对象浏览器打开了,这个要占用一个连接的,如果有打开,需要把它关掉(断开连接)

    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 5:55
  • 一般启动ssms 的时候会有一个连接登录的窗口,从这里面直接登录的话,默认开把对象浏览器的连接,这个时候应该选择取消,然后点新建查询窗口哑连接
    • 已标记为答案 ahdung_AI 2012年7月30日 6:43
    2012年7月30日 5:57
  • 我是这样做的,可以通过SSMS连接至单用户模式下的DATABASE ENGINE,请问你是怎么做的?

    步骤一、设定启动参数【-m】,然后重新启动 SQL Server 服务。

    步骤二、因为默认开启 SSMS 会去启动 Object Explorer 连接来 Database Engine,请先按 Cancel,再自行按 New Query 就可以顺利连接了。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/


    2012年7月30日 6:05
  • 回邹建,我是这样做的,但仍然提示。
    2012年7月30日 6:16
  • 谢谢Terry兄,我想起之前看了文档后受到误导,在-m后面加了字符,参数【-m"x:\xx\ssms.exe" -query;】,后来把后面的字符删了,仅留-m后再次尝试,可以了,非常感谢两位。

    BTW:Terry兄是HK人?之前看你的姓是粤拼就有的“怀疑”,如今见你用繁体版韧体,加深了“怀疑”~呵呵

    2012年7月30日 6:41
  • Hi ahdung_AI,

    哈,不瞒你说,其实你猜错了,我是台湾人。


    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/ 


    2012年7月30日 6:49
  • 呵呵~SORRY,谢谢!
    2012年7月30日 7:00
  • 您客气了。

    以上說明若有錯誤請指教,謝謝。
    http://www.dotblogs.com.tw/terrychuang/

    2012年7月30日 7:16
  • 点击“新建查询”,就一定会弹出连接服务器对话框,所以还是使用命令行吧


    给我写信: QQ我:点击这里给我发消息

    2012年7月31日 4:44
  • 我跟你的不一样,我使用/m选项会出现,不知何解?

    C:\Users\Administrator>sqlservr.exe /m
    2012-08-06 23:55:18.41 Server      Error: 17058, Severity: 16, State: 1.
    2012-08-06 23:55:18.41 Server      initerrlog: Could not open error log file 'C:
    \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG'. Operating syste
    m error = 32(另一个程序正在使用此文件,进程无法访问。).


    给我写信: QQ我:点击这里给我发消息

    2012年8月6日 15:56
  • Sounds sql was running already, have to stop it first.
    2012年8月6日 16:00
  • 要先停止sql服务?停止了还怎麽以单用户模式进入sql?

    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 1:26
  • 输入了 sqlservr.exe /m之后 再停止sql服务,然后重新启动sql服务就不行了


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 1:30
  • What you did was starting sql service in single user mode, read books online if like to know details.
    2012年8月7日 2:14
  • 看联机丛书吗?


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 5:25
  • What you did was starting sql service in single user mode, read books online if like to know details.

    想问一下,为什麽我在CMD下使用sqlservr.exe /m之后sql服务会停止了的?用ctrl+C 强制终止sqlservr.exe /m 才可以重新启动sql服务。

    sqlservr.exe /m不是进入单用户模式吗?为什麽会停止sql服务呢?停止了还如何操作数据库?不明白sqlservr.exe /m 命令的意思


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 9:49
  • You have to stop sql service first then run sqlservr.exe /m to restart it in dos.
    2012年8月7日 12:55
  • 那么实际上在DOS下运行sqlservr.exe /m 有什么作用呢?为了使用sqlcmd?


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 14:07
  • 那么实际上在DOS下运行sqlservr.exe /m 有什么作用呢?为了使用sqlcmd?


    给我写信: QQ我:点击这里给我发消息

    sigh,你就不知道仔细看看联机丛书吗?多数情况下,sqlservr.exe 程序只用于故障排除或主要维护。在命令提示符下使用 sqlservr.exe 启动 SQL Server 时,SQL Server 不作为服务启动。

    跟sqlcmd没有任何关系。


    想不想时已是想,不如不想都不想。

    2012年8月7日 14:54
    版主
  • 明白了,谢谢怡红公子指点


    给我写信: QQ我:点击这里给我发消息

    2012年8月7日 15:36