Accedi a Microsoft
Accedi o crea un account.
Salve,
Select a different account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Si tenta di eseguire un backup, ritiro o modificare il comando di database in SQL Server e si verificano i seguenti messaggi:

Msg 3023, livello 16, stato 2, riga 1

Operazioni di manipolazione di backup e i file (ad esempio ALTER DATABASE ADD FILE) su un database devono essere serializzate. Rieseguire l'istruzione dopo il completamento dell'operazione di modifica di backup o il file corrente.


Msg 3013, livello 16, stato 1, riga 1

BACKUP DATABASE in corso.


Inoltre, il log degli errori di SQL Server contiene messaggi simile al seguente:

12-05-2014 01:00:28.05 errore di Backup: 3041, gravità: 16, stato: 1.

12-05-2014 01:00:28.05 BACKUP di Backup non riuscito completare il comando BACKUP DATABASE MyDatabase WITH DIFFERENTIAL. Controllare il registro applicazione di backup per informazioni dettagliate sui messaggi.


È inoltre possibile che si verifichino questi comandi un "wait_type = LCK_M_U" e "wait_resource = DATABASE: < id > [BULKOP_BACKUP_DB] " quando lo stato di questi comandi viene visualizzato dalle varie viste a gestione dinamica (DMV), ad esempio sys.dm_exec_requests o sys.dm_os_waiting_tasks.

Causa

Esistono più regole in cui le operazioni sono consentite o non è consentite quando è in corso su un database completo di un database. Di seguito sono riportati alcuni esempi:

  • Backup dei dati di un solo può verificarsi in un momento (quando un backup completo del database si verifica, non è possibile eseguire backup differenziali o incrementali contemporaneamente).

  • Può accadere backup di un solo log alla volta (un backup del log è consentito quando è in corso un backup completo del database).

  • È possibile aggiungere o eliminare file in un database mentre è in corso un backup.

  • Non è possibile compattare i file mentre sono in corso il backup del database.

  • Esistono modifiche al modello di recupero limitato consentite durante i backup sono in corso.


Quando vengono eseguite queste operazioni in conflitto, i comandi rileverà le attese di blocco menzionati nella sezione "Sintomi" seguita dall'utente riceva i messaggi 3023 e 3041.

Risoluzione

Esaminare le pianificazioni delle varie attività di manutenzione del database e quindi modificare le pianificazioni in modo che queste operazioni o comandi non sono in conflitto tra loro.

Ulteriori informazioni

SQL Server registra l'ora di inizio e l'ora di fine del backup del database msdb. È possibile esaminare la cronologia di backup per determinare se è stata un backup completo del database che si verificano durante un backup incrementale è stato tentato e pertanto ha causato l'errore. Per semplificare questo processo, è possibile utilizzare la seguente query:

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


È possibile utilizzare anche l'evento "Messaggio di errore utente" nella traccia di SQL Profiler o l'evento "error_reported" negli eventi estesi per registrare la segnalazione dei 3023 messaggi nuovamente all'applicazione che ha avviato il backup o altri comandi di manutenzione.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×