SQL Server 紧急模式 - 语法不正确

SQL Server Emergency mode - Syntax incorrect

提问人:devLooper 提问时间:11/3/2021 最后编辑:Thom AdevLooper 更新时间:11/3/2021 访问量:528

问:

我不知道那个sql查询有什么问题:

ALTER DATABASE myDB SET EMERGENCY;

我收到那个错误:

Msg 102, Niveau 15, Etat 6, Ligne 1
“EMERGENCY”附近的语法不正确;

我使用 Microsoft SQL Server 2000 - 8.00.760 和 SSMD 2016。

SQL服务器 SQL-SERVER-2000

评论

1赞 Thom A 11/3/2021
SQL Server 2000?啥?大约十年来,这完全没有得到支持。SSMS 2016 也不支持 SQL Server 2000。我认为SSMS的“最新”版本是SSMS 2008。至于错误,我无疑怀疑您使用的语法在 21 年前并不存在。恕我直言,您大约需要 10 年才能在受支持的版本上获取该实例。
2赞 Stu 11/3/2021
我认为您不会找到使用 SQL Server 2000 的人,顺便说一句,这是 2021 年。
0赞 devLooper 11/3/2021
我的数据库处于可疑模式,我想修复它,但该查询无法执行,你知道为什么吗?
1赞 Thom A 11/3/2021
同时查看 SQL Server 200 内部版本列表,8.00.760 是 SP3(2003 年发布)。SP4 于 2005 年发布,自那时以来已经发布了近 80 个更新,包括安全和错误修复......你运行的是 21 年前发布的 SQL Server 版本,并且已取消修补 18 年;那(老实说)只是自找麻烦。
4赞 AlwaysLearning 11/3/2021
不要浪费时间试图修复它。从备份中恢复它。你有工作备份,对吧?

答:

1赞 Martin Smith 11/3/2021 #1

我不知道问题出在哪里

问题是您使用的是 SQL Server 2000。保罗·兰德尔(Paul Randal)在这里提到

我决定向 SQL Server 2005 添加一项称为“紧急模式修复”的新功能,该功能将执行第 2 步和第 3 步作为原子操作。

因此,您尝试执行的语法在 2000 中不存在。

他提到的“黑客系统表”在这里被描述。

但是,您应该从备份中恢复作为首选手段。

评论

0赞 devLooper 11/9/2021
谢谢大家。就像 AlwaysLearning 说的那样,“不要浪费时间试图修复它。从备份中恢复它。 我从备份中恢复了它。我没有太多时间寻找解决方案。
0赞 devLooper 11/9/2021
谢谢史密斯@Martin,我很快就会看到。