共用方式為


MSSQLSERVER_3023

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 3023
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 DB_IN_USE_DUMP
訊息文字 資料庫上的備份和檔操作作業(例如 ALTER DATABASE ADD FILE)必須串行化。 完成目前的備份或檔操作作業之後,重新發出 語句

說明

您試著在 SQL Server 中執行備份、壓縮或改變資料庫命令,並遇到下列訊息:

訊息 3023,層級 16,狀態 2,第 1 行
資料庫上的備份和檔操作作業(例如 ALTER DATABASE ADD FILE)必須串行化。 請在目前的備份或檔案操作作業完成之後,重新發出陳述式。

Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.

此外,SQL Server 錯誤記錄檔包含如下的訊息:

<Datetime> 備份錯誤:3041,嚴重性:16,狀態:1。
<Datetime> Backup BACKUP 無法完成BACKUP DATABASE MyDatabase WITH DIFFERENTIAL 命令。 詳細訊息請檢查備份應用程式記錄檔。

您可能也會注意到,這些命令在從各種動態管理檢視中檢視這些命令的狀態時遇到 wait_type = LCK_M_Uwait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] 例如 或 sys.dm_exec_requests sys.dm_os_waiting_tasks

可能的原因

當完整資料庫目前正在針對資料庫進行時,有數個規則允許或不允許作業。 部分範例如下:

  • 一次只能進行一個數據備份(當完整資料庫備份發生時,差異備份或增量備份無法同時發生)。
  • 一次只能進行一個記錄備份(發生完整資料庫備份時允許記錄備份)。
  • 發生備份時,您無法將檔案加入或卸除至資料庫。
  • 資料庫備份發生時,您無法壓縮檔案。
  • 備份發生時允許有有限的恢復模式變更。

執行上述任何衝突的作業時,命令將會遇到「說明」一節中提及的鎖定等候,後面接著您收到 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 追蹤中的使用者錯誤訊息 事件,或 擴充事件中的 error_reported 事件,來追蹤 3023 訊息回報給起始備份或其他維護命令的應用程式。