徵狀

案例 1系統資料表手動更新 Microsoft SQL Server 中時,SQL Server 錯誤記錄檔中,或在 [事件檢視器中的應用程式記錄檔會記錄類似下列事件:

記錄檔名稱: ApplicationSource: MSSQL$ SQL2008R2Event 識別碼: 17659Task 類別: ServerLevel: InformationDescription: 警告: 已直接在資料庫識別碼 17 中更新系統資料表識別碼 34,並且快取一致性可能不具有受到維護。SQL Server 應該重新啟動。

案例 2當您啟動包含手動更新系統資料表的 SQL Server 資料庫時,SQL Server 錯誤記錄檔中,或在 [事件檢視器中的應用程式記錄檔會記錄類似下列的事件:

記錄檔名稱: ApplicationSource: MSSQL$ SQL2008R2Event 識別碼: 3859Task 類別: ServerLevel: InformationDescription: 警告: 直接在資料庫識別碼 17 最近在date_time中已更新的系統資料庫目錄

案例 3系統資料表手動更新之後,執行DBCC_CHECKDB命令時,會傳回下列警告訊息:

'Database_name' 的 DBCC 結果。檢查類別目錄訊息 3859,狀態 1: 警告: 直接在資料庫識別碼 17 最近在date_time中已更新的系統資料庫目錄。CHECKDB 會位於資料庫 'db_name' 0 的配置錯誤和 0 的一致性錯誤。DBCC 執行完畢。如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。

原因

如果基底的系統資料表手動更新,就會發生這個問題。備忘稿

  • 不支援手動更新系統資料表。由 SQL Server 資料庫引擎時,應該只更新系統資料表。

  • 您可以在系統資料表,透過系統目錄檢視來檢視資料。

解決方案

若要解決這個問題,傳輸到新的資料庫應用程式使用的資料庫以手動方式更新的內容。

其他相關資訊

系統的基底資料表下表提供有關產品或自動檢查您的 SQL Server 的執行個體,並針對規則進行評估的 SQL Server 產品版本,這種情況的工具的詳細資訊。

規則軟體

規則標題

規則描述

針對規則進行評估的產品版本

System Center 警告器

SQL Server 程式偵測到直接的系統目錄更新: 訊息 17659

當應用程式記錄檔,在 Windows 報告事件識別碼 17659 時,system Center 警告器就會產生警示。使用來自警示的資訊來識別資料庫中不支援的狀態,並遵循本文 < 解決方案=""> 一節中的步驟。

SQL Server 2008SQL Server 2008 R2SQL 伺服器 2012

System Center 警告器

SQL Server 程式偵測到直接的系統目錄更新: 訊息 3859

當應用程式記錄檔,在 Windows 報告事件 ID 3859 時,system Center 警告器就會產生警示。使用來自警示的資訊來識別資料庫中不支援的狀態,並遵循本文 < 解決方案=""> 一節中的步驟。

SQL Server 2008SQL Server 2008 R2SQL 伺服器 2012

參考

如需有關 SQL Server 系統資料表手動更新時經常發生的問題的詳細資訊,請按一下文件編號,檢視 「 Microsoft 知識庫 」 中的文件:

2787112 "msg 8992 」 錯誤訊息,以及 SQL Server 系統資料目錄中的中繼資料不一致

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×