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_U
, wait_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 訊息回報給起始備份或其他維護命令的應用程式。