次の方法で共有


MSSQLSERVER_3023

適用対象: SQL サーバー

詳細

属性 Value
製品名 SQL Server
イベント ID 3023
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 DB_IN_USE_DUMP
メッセージ テキスト データベースに対するバックアップ操作およびファイル操作 (ALTER DATABASE ADD FILE など) は、シリアル化する必要があります。 現在のバックアップ、またはファイル操作が完了してからステートメントを再実行してください

説明

SQL Server でバックアップ、圧縮、またはデータベースの変更コマンドを実行しようとすると、次のメッセージが表示されます。

メッセージ 3023、レベル 16、状態 2、行 1
データベースに対するバックアップ操作およびファイル操作 (ALTER DATABASE ADD FILE など) は、シリアル化する必要があります。 現在のバックアップ、またはファイル操作が完了してからステートメントを再実行してください。

メッセージ 3013、レベル 16、状態 1、行 1
バックアップ データベースが異常終了しています。

さらに、SQL Server エラー ログには、次のようなメッセージが含まれています。

<Datetime> バックアップ エラー: 3041、重大度: 16、状態: 1。
<Datetime> Backup BACKUP が BACKUP DATABASE MyDatabase WITH DIFFERENTIAL コマンドを完了できませんでした。 詳細メッセージについては、バックアップ アプリケーション ログを確認してください。

これらのコマンドの状態が、sys.dm_exec_requestssys.dm_os_waiting_tasks などのさまざまな動的管理ビュー (DMV) から表示されると、これらのコマンドで wait_type = LCK_M_Uwait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] が発生することにもご注意ください。

考えられる原因

データベースに対してデータベースの完全バックアップが現在実行されている場合に、許可するまたは許可しない操作について、いくつかの規則があります。 いくつかの例を次に示します。

  • データ バックアップは、一度に 1 つしか実行できません (データベースの完全バックアップが実行されているときに、差分または増分のバックアップを同時に行うことはできません)。
  • ログ バックアップは、一度に 1 つしか実行できません (データベースの完全バックアップが実行されている場合にログ バックアップを実行することはできます)。
  • バックアップの実行中に、データベースに対してファイルの追加や削除を行うことはできません。
  • データベースのバックアップ中にファイルを圧縮することはできません。
  • バックアップの実行中に許可される復旧モデルの変更は限られています。

これらの競合する操作のいずれかが実行されると、「説明」セクションに記載されているロック待機がコマンドで発生し、その後、3023 および 3041 メッセージを受信します。

ユーザー アクション

さまざまなデータベース メンテナンス作業のスケジュールを確認し、これらの操作またはコマンドが互いに競合しないようにスケジュールを調整します。

詳細

SQL Server は、バックアップの開始時刻と終了時刻を msdb データベースに記録します。 バックアップ履歴を調べると、増分バックアップの実行中にデータベースの完全バックアップが発生したためにエラーが発生したかどうかを判断できます。 このプロセスを実行するには、次のクエリを使用します。

select database_name, type, backup_start_date, backup_finish_date
from msdb.dbo.backupset
order by database_name, type, backup_start_date, backup_finish_date
go

また、SQL Profiler トレースの User Error Message イベントや、拡張イベントの error_reported イベントを使用して、バックアップまたはその他のメンテナンス コマンドを開始したアプリケーションに戻り、3023 メッセージのレポートを追跡することもできます。