Freigeben über


MSSQLSERVER_3023

Gilt für: SQL Server

Details

attribute Wert
Produktname SQL Server
Ereignis-ID 3023
Ereignisquelle MSSQLSERVER
Komponente SQLEngine
Symbolischer Name DB_IN_USE_DUMP
Meldungstext Sicherungs- und Dateibearbeitungsvorgänge (z. B. ALTER DATABASE ADD FILE) in einer Datenbank müssen serialisiert werden. Wiederholen Sie die Anweisung nach Abschluss des aktuellen Sicherungs- oder Dateibearbeitungsvorgangs.

Erklärung

Sie versuchen, einen Befehl "Sicherung", "Verkleinern" oder "Datenbank ändern" in SQL Server auszuführen, und es werden die folgenden Meldungen angezeigt:

Meldung 3023, Ebene 16, Status 2, Zeile 1
Sicherungs- und Dateibearbeitungsvorgänge (z. B. ALTER DATABASE ADD FILE) in einer Datenbank müssen serialisiert werden. Wiederholen Sie die Anweisung nach Abschluss des aktuellen Sicherungs- oder Dateibearbeitungsvorgangs.

Meldung "3013", Ebene "16", Status "1", Zeile 1
BACKUP DATABASE wird fehlerbedingt beendet.

Darüber hinaus enthält das SQL Server-Fehlerprotokoll Meldungen wie die folgenden:

<Datetime> Backup Error: 3041, Schweregrad: 16, Status: 1.
<Datetime> Backup BACKUP failed to complete the command BACKUP DATABASE MyDatabase WITH DIFFERENTIAL. Ausführliche Informationen finden Sie im Sicherungsanwendungsprotokoll.

Sie werden möglicherweise auch bemerken, dass diese Befehle auf wait_type = LCK_M_U und wait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] stoßen, wenn der Status dieser Befehle von den verschiedenen dynamischen Verwaltungssichten (DMVs) aus angezeigt wird, z. B. von sys.dm_exec_requests oder sys.dm_os_waiting_tasks.

Mögliche Ursachen

Es gibt mehrere Regeln zu den zulässigen und nicht zulässigen Datenbankvorgängen während eines über eine gesamte Datenbank ausgeführten Vorgangs. Beispiele:

  • Es kann immer nur eine Datensicherung durchgeführt werden (während einer vollständigen Datenbanksicherung können nicht gleichzeitig differenzielle oder inkrementelle Sicherungen durchgeführt werden).
  • Es kann immer nur eine Protokollsicherung durchgeführt werden (eine Protokollsicherung ist während einer vollständigen Datenbanksicherung zulässig).
  • Es ist nicht möglich, Dateien während einer Sicherung zu einer Datenbank hinzuzufügen oder daraus zu löschen.
  • Dateien können während Datenbanksicherungen nicht verkleinert werden.
  • Änderungen am Wiederherstellungsmodell sind während Sicherungsvorgängen nur eingeschränkt zulässig.

Wenn einer dieser in Konflikt stehenden Vorgänge ausgeführt wird, stoßen die Befehle auf die im Abschnitt „Erklärung“ genannten Sperrwartevorgänge, und Ihnen werden die Meldungen 3023 und 3041 angezeigt.

Aktion des Benutzers

Überprüfen Sie die Zeitpläne der verschiedenen Datenbank-Wartungsaktivitäten, und passen Sie die Zeitpläne so an, dass diese Vorgänge oder Befehle nicht miteinander in Konflikt stehen.

Weitere Informationen

SQL Server zeichnet die Startzeit und die Endzeit der Sicherung in der msdb Datenbank auf. Sie können den Sicherungsverlauf überprüfen, um zu bestimmen, ob während des Versuchs einer inkrementellen Sicherung eine vollständige Datenbanksicherung durchgeführt wurde und zu dem Fehler führte. Sie können die folgende Abfrage als Unterstützung bei diesem Prozess verwenden:

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

Sie können auch das User Error Message-Ereignis in der SQL-Ablaufverfolgung oder das error_reported-Ereignis aus „Erweiterte Ereignisse“ verwenden, um die Berichterstattung der Meldung 3023 zu der Anwendung zurückzuverfolgen, von der die Sicherung oder andere Wartungsbefehle ausgingen.