MSSQLSERVER_3859
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 3859 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | DBCC_CHECKCAT_DIRECT_UPDATE |
訊息文字 | 警告:系統目錄已直接在資料庫識別碼 %d 中更新,最近位於 %S_DATE |
說明
此錯誤表示使用者起始的系統資料表變更。 不支援手動更新系統資料表。 系統資料表只能由 SQL Server 資料庫引擎更新。 當 SQL Server 偵測到使用者起始的系統資料表變更時,會在下列兩個案例中引發錯誤 3859:
案例 1
當您啟動包含手動更新系統資料表的 SQL Server 資料庫時,會在 SQL Server 錯誤記錄檔或事件檢視器的應用程式記錄檔中記錄類似下列事件:
記錄名稱:應用程式
來源:MSSQLSERVER 事件識別碼:3859
工作類別:伺服器
等級:資訊
描述:警告:系統目錄已直接在資料庫識別碼 %d 中更新,最近于 date_time案例 2
當您在手動更新系統資料表之後執行
DBCC_CHECKDB
命令時,會傳回下列警告訊息:' database_name ' 的 DBCC 結果。
訊息 8992,層級 16,狀態 1,第 1 行
檢查目錄 Msg 3859,狀態 1:警告:系統目錄已直接在資料庫識別碼 %d 中更新,最近于 date_time 。
CHECKDB 在資料庫 ' db_name ' 中找到 0 個配置錯誤和 0 個一致性錯誤。
DBCC 的執行已經完成。 如果 DBCC 印出錯誤訊息,請連絡您的系統管理員。
使用者動作
若要解決此問題,請使用下列其中一種方法。
方法 1
如果您有資料庫的完整備份,請從備份還原資料庫。
注意
只有當備份在中繼資料中沒有不一致時,這個方法才有效。
方法 2
如果您無法從備份還原資料庫,請將資料和物件匯出至新的資料庫。 然後,將手動更新資料庫的內容傳送至新的資料庫。 注意 您無法使用 DBCC CHECKDB 命令中的 REPAIR 選項來修復系統目錄中的不一致。 因此,因為命令無法修復中繼資料損毀,所以命令不會提供任何建議的修復層級。
注意
您可以透過系統目錄檢視來檢視系統資料表中的資料。
其他相關資訊
如需詳細資訊,請參閱: 系統基表 。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應