【问题标题】:SQL Server Emergency mode - Syntax incorrectSQL Server 紧急模式 - 语法不正确
【发布时间】:2021-12-17 19:27:15
【问题描述】:

我不知道那个 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 Server 2000? 为什么?大约十年来,它完全不受支持。 SSMS 2016 也 not 支持 SQL Server 2000。我认为 SSMS 的“最新”版本是 SSMS 2008。至于错误,我无疑怀疑您使用的语法没有存在于21年前。恕我直言,在受支持的版本上获得该实例大约需要 10 年时间。
  • 我认为你不会找到任何人使用 SQL Server 2000,顺便说一句,它是 2021 年。
  • 我的数据库处于可疑模式,我想修复它,但查询不会执行你知道为什么吗?
  • 再看看 SQL Server 200 build list,8.00.760 是 SP3(2003 年发布)。 SP4 于 2005 年发布,自那以来已经发布了近 80 个更新,包括安全性和错误修复……您运行的是 21 年前发布的 SQL Server 版本,并且 18 年没有打补丁;那(老实说)只是自找麻烦。
  • 不要浪费时间尝试修复它。从备份中恢复它。你有有效的备份,对吧?

标签: sql-server sql-server-2000


【解决方案1】:

不知道是什么问题

问题在于您使用的是 SQL Server 2000。Paul Randal 提到 here

我决定在 SQL Server 2005 中添加一个名为 EMERGENCY-mode repair 的新功能,它将作为原子操作执行步骤 2 和 3。

因此,您尝试使用的语法在 2000 年不存在。

他提到的“黑客系统表”被描述为here

但您应该首先从备份中恢复。

【讨论】:

  • 谢谢大家。就像 AlwaysLearning 说的‘不要浪费时间尝试修复它。从备份中恢复它。我从备份中恢复了它。我没有太多时间寻找解决方案。
  • 谢谢@Martin Smith,我很快就会看到。
猜你喜欢
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 1970-01-01
相关资源
最近更新 更多