自动重启 SQL Server 2008

Chr*_*cia 5 sql-server-2008 sql-server

是否有一种“最佳”方法可以定期自动重新启动 SQL Server?我读到我可以创建一个批处理文件来净启动,净停止批处理文件中的代理和服务并安排它,但我很好奇是否有更好的方法来做到这一点。

请不要介意这表明一个更大的操作问题,我已经争论了一个月,我们已经结束了。

谢谢 :)。

db2*_*db2 15

我不会详细说明为什么这不是一个好主意,因为您已经知道所有这些。对于遇到此答案的任何其他人:如果可能,请尽量不要这样做!

对于需要安排下班后重新启动(修补、配置更改等)的场合,我通常只在通过 Windows 任务计划程序安排的批处理文件中运行它:

net stop SQLSERVERAGENT
net stop MSSQLSERVER
net start MSSQLSERVER
net start SQLSERVERAGENT
Run Code Online (Sandbox Code Playgroud)

请注意,如果您不重新启动默认实例,服务名称可能会有所不同。此外,运行计划任务的用户帐户需要具有重新启动服务的权限。

与我所做的一次性运行相反,我看不出有任何理由说明为什么这不适用于重复性计划。

  • 提示:`net start SQLSERVERAGENT` 也隐式启动 SQL 服务器本身。 (2认同)

Tho*_*ger 9

为彻底起见,您也可以通过 PowerShell 执行此操作。然后就像 db2 建议的那样,只需通过 Task Scheduler 安排您的 PowerShell 脚本在预定的例程上运行。

Stop-Service -Name "MSSQLSERVER"
Start-Service -Name "MSSQLSERVER"
Run Code Online (Sandbox Code Playgroud)

或者,一举做到这一点:

Restart-Service -Name "MSSQLSERVER"
Run Code Online (Sandbox Code Playgroud)

这实质上将退回 SQL Server 服务。我还要重申,不建议定期重新启动 SQL Server