为什么即使重启后SQL Server服务“没有响应”?

时间:2014-09-24 18:40:28

标签: sql-server sql-delete

我错误地在一张包含数百万行的表中执行DELETE FROM

现在sqlservr.exe正在使用计算机中的所有内存,当我尝试通过SQL Server Management Studio(SSMS)连接到它时,它不会响应。

我试图杀死这个过程;但它会死掉,然后再次消耗所有RAM。

数据库托管在我的开发PC上。

如何让SQL Server运行?

1 个答案:

答案 0 :(得分:4)

重新启动SQL Server时,它将在配置为在启动时加载的所有数据库上运行“恢复”过程。你需要等待恢复完成;此时行可能仍在数据库中。一句建议,等待SQL Server做它的事情;永远kill sqlserver.exe进程等等。这只会延长你的痛苦。运行恢复可能需要1个多小时,具体取决于您的硬件,数据库大小,VLF数量等等。耐心等待!或者不要,只是恢复昨晚的备份。你有备份,对吗?

此时你需要删除行;或许TRUNCATE TABLE命令对此有帮助。

您可以检查SQL Server错误日志;这将是SQL Server安装目录中名为“ERRORLOG”的文件(很可能,假设在安装期间选择了默认值)。这应该会显示恢复进度已经开始,以及何时完成。

您还可以使用“专用管理员连接”或“DAC”使用sqlcmd.exe连接到SQL Server,但这超出了此答案的范围。