MSSQLSERVER_3859
適用対象:SQL Server
詳細
属性 | 値 |
---|---|
製品名 | SQL Server |
イベント ID | 3859 |
イベント ソース | MSSQLSERVER |
コンポーネント | SQLEngine |
シンボル名 | DBCC_CHECKCAT_DIRECT_UPDATE |
メッセージ テキスト | 警告: システム カタログはデータベース ID %d で直接更新されました。最近は %S_DATE |
説明
このエラーは、ユーザーがシステム テーブルの変更を始めたことを示します。 システム テーブルを手動で更新することはサポートされていません。 システム テーブルは、SQL Server データベース エンジンによってのみ更新される必要があります。 SQL Serverシステム テーブルに対するユーザーが開始した変更を検出すると、次の 2 つのシナリオでエラー 3859 が発生します。
シナリオ 1
次のようなイベントは、手動で更新されたシステム テーブルを含むSQL Server データベースを起動すると、イベント ビューアー SQL Serverエラー ログまたはアプリケーション ログに記録されます。
ログ名:Application
ソース:MSSQLSERVER イベント ID: 3859
タスク カテゴリ:サーバー
レベル: Information
説明: 警告: システム カタログはデータベース ID %d で直接更新されました。最近 では、date_timeシナリオ 2
システム テーブルが手動で更新された後に
DBCC_CHECKDB
コマンドを実行すると、次の警告メッセージが返されます。'database_name' の DBCC 結果。
メッセージ 8992、レベル 16、状態 1、行 1
カタログ メッセージ 3859、状態 1: 警告: システム カタログがデータベース ID %d で直接更新されました。最後に 、date_time。
CHECKDB により、データベース 'db_name' に 0 個のアロケーション エラーと 0 個の一貫性エラーが見つかりました。
DBCC の実行が完了しました。 DBCC がエラー メッセージを出力した場合は、システム管理者に相談してください。
ユーザー アクション
この問題を解決するには、次の方法のいずれかを使用します。
方法 1
データベースのクリーン バックアップがある場合は、バックアップからデータベースを復元します。
注意
この方法は、バックアップにメタデータの不整合がない場合にのみ機能します。
方法 2
バックアップからデータベースを復元できない場合は、データとオブジェクトを新しいデータベースにエクスポートします。 次に、手動で更新されたデータベースの内容を新しいデータベースに転送します。 DBCC CHECKDB コマンドの REPAIR オプションを使用して、システム カタログの不整合を修復することはできないことにご注意ください。 したがって、コマンドでメタデータの破損を修復できないため、推奨される修復レベルは提供されません。
注意
システム テーブル内のデータは、システム カタログ ビューを使用して表示できます。
詳細情報
詳細については、以下を参照してください: 「システム ベース テーブル」。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示