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 選項來修復系統目錄中的不一致。 因此,因為命令無法修復元數據損毀,所以命令不會提供任何建議的修復層級。
注意
您可以透過系統目錄檢視來檢視系統資料表中的資料。
其他相關資訊
如需詳細資訊,請參閱: 系統基表。