2007年02月05日

SQL Server 2000 データベース保守計画で整合性チェックに失敗する

SQL Server 2000 でデータベース保守計画を実施する際に、データベース整合性チェックで[簡単な問題点を修復する]オプションを有効にすると、整合性チェックに失敗する場合がある。この場合、エラーログには以下のようなエラーが記録される。

[Microsoft SQL-DMO (ODBC SQLState: 42000)] エラー 5058: [Microsoft][ODBC SQL Server Driver][SQL Server]オプション 'SINGLE_USER' をデータベース 'MASTER' に設定できません。
[Microsoft][ODBC SQL Server Driver][SQL Server]sp_dboption コマンドに失敗しました。
[1] データベース master: データとインデックスリンケージのチェック...
[Microsoft SQL-DMO (ODBC SQLState: 42000)] エラー 7919: [Microsoft][ODBC SQL Server Driver][SQL Server]修復ステートメントは処理されませんでした。データベースをシングルユーザーモードに設定する必要があります。

  次のエラーが見つかりました :

[Microsoft][ODBC SQL Server Driver][SQL Server]修復ステートメントは処理されませんでした。データベースをシングルユーザーモードに設定する必要があります。

データベース保守計画は、CkDBRepair を実行するためにシステムデータベースをシングルユーザーモード状態にしようとする。しかし、master 及び msdb データベースは LAZYWRITER やログ書き込み、チェックポイント、SQLAgent、汎用リフレッシャなどの常時稼働するシステムプロセスによってシングルユーザーモード状態にできない。修復ステップは実行に失敗し、ジョブは失敗を返す。

この問題はシステムデータベースに限定されない。データベース保守計画でシングルユーザーモード状態にしようとしたときにそのデータベースにユーザーが接続している場合、ユーザーデータベースでも起こることがある。

○ 対処方法

この問題を回避するためには、以下の手順でデータベース整合性チェックで[簡単な問題点を修復する]オプションを無効にする。

1. Enterprise Manager で目的のインスタンス内の[管理]→[データベース保守計画]を開く
2. 設定を変更したいデータベース保守計画を右クリックし[プロパティ]を選択する
3. [データベース保守計画]ダイアログで[整合性]タブを開く
4. [簡単な問題点を修復する]オプションを無効にし、[OK]ボタンをクリックする

【参照】 マイクロソフト 技術情報 290622

posted by w@ko at 22:32|  ・SQL Server | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。