如何远程启动/停止SQLServer服务启动现有连接?

时间:2008-10-02 10:43:40

标签: sql-server winapi

我知道已有question关于此问题,但我的问题更多地针对远程方案。

使用 net start / stop ,您可以指定 / y 参数来退出当前会话的用户,但无法远程启动/停止。

使用 sc ,您可以远程启动/停止,但如果正在使用SQLServer实例,则不会让您停止服务(使用“[SC] ControlService FAILED 1051:停止控件已停止已被发送到其他正在运行的服务所依赖的服务。“消息)

所以我的问题是:推出远程停止SqlServer服务的用户的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

我认为/你刚回答“你确定吗?”提示。我认为sc也可以使用,但如果有大量的机上交易可能会等待服务停止。它是否为您提供了无法停止的具体信息?

以下是停止远程SQL实例的其他几种方法。除了NOWAIT SHUTDOWN之外,我推荐其中任何一个。

  • psexec会让你远程运行net stop。
  • 还有SQL SHUTDOWN命令 - 您可以发出WITH NOWAIT以避免等待当前事务完成和检查点,这将使关闭更快(但后续启动更慢,并可能导致数据丢失)。 / LI>
  • 或者您可以使用Configuration ManagerManagement Studio来停止远程实例。

编辑:错误为pretty self explanatory。这意味着您必须首先停止依赖服务。 Sql Agent可能至少是其中之一。检查管理工具 - >服务将显示其余部分。

答案 1 :(得分:1)

使用SSMS是最好的,确保您具有关闭和检查复制状态以及ALWAYS ON和Log Shipping的适当权限。