MSSQLSERVER_17659

适用范围:SQL Server

详细信息

Attribute
产品名称 SQL Server
事件 ID 17659
事件来源 MSSQLSERVER
组件 SQLEngine
符号名称 DEMO_SYSCATUPDATE
消息正文 数据库 ID %d 中的系统表 ID %d 已直接更新,但可能未维护缓存一致性。
应重新启动 SQL Server。

说明

此错误表示已直接更新系统对象。 不支持手动更新系统表。 系统表只能由 SQL Server 数据库引擎更新。 当 SQL Server 检测到用户对系统表发起的更改时,将引发错误 17659。 类似于以下内容的事件记录在 SQL Server 错误日志或在此方案中事件查看器的应用程序日志中。

日志名称: 应用程序
源:MSSQLServer
事件 ID:17659
任务类别:服务器
级别:信息
说明:警告:系统表 ID %d 已在数据库 ID %d 中直接更新,缓存一致性可能尚未维护。 应重新启动 SQL Server。

用户操作

若要解决此问题,请使用以下任一方法。

  • 方法 1
    如果具有数据库的干净备份,请从该备份还原数据库。

    注意

    仅当备份在元数据中保持一致时,此方法才有效。

  • 方法 2
    如果无法从备份还原数据库,请将数据和对象导出到新的数据库中。 然后,将手动更新的数据库的内容传输到新数据库中。 请注意,不能使用 DBCC CHECKDB 命令中的 REPAIR 选项来修复系统目录中的不一致问题。 结果就是,该命令无法修复元数据损坏,因此它不提供任何建议的修复级别。

注意

可通过系统目录视图查看系统表中的数据。

详细信息

有关详细信息,请参阅: 系统基表