Compartilhar via


MSSQLSERVER_3023

Aplica-se: SQL Server

Detalhes

Atributo Valor
Nome do produto SQL Server
ID do evento 3023
Origem do Evento MSSQLSERVER
Componente SQLEngine
Nome simbólico DB_IN_USE_DUMP
Texto da mensagem As operações de manipulação de arquivos e backup (como ALTER DATABASE ADD FILE) em um banco de dados precisam ser serializadas. Emita novamente a instrução após a conclusão da operação atual de backup ou de manipulação de arquivo

Explicação

Você tenta executar um comando Backup, shrink ou alter database no SQL Server e encontra as seguintes mensagens:

Mensagem 3023, Nível 16, Estado 2, Linha 1
As operações de manipulação de arquivos e backup (como ALTER DATABASE ADD FILE) em um banco de dados precisam ser serializadas. Emita novamente a instrução após a conclusão da operação atual de backup ou de manipulação de arquivo.

Mensagem 3013, Nível 16, Estado 1, Linha 1
BACKUP DATABASE está sendo encerrado de forma anormal.

Além disso, o log de erros do SQL Server contém mensagens como as seguintes:

<Erro de backup de data e hora> : 3041, Gravidade: 16, Estado: 1.
<Falha no backup de data e hora> ao concluir o comando BACKUP DATABASE MyDatabase WITH DIFFERENTIAL. Verifique o log do aplicativo de backup para obter mensagens detalhadas.

Você também poderá observar que esses comandos recebem um wait_type = LCK_M_U e um wait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] quando o status desses comandos é exibido nas várias DMVs (exibições de gerenciamento dinâmico), como em sys.dm_exec_requests ou sys.dm_os_waiting_tasks.

Possíveis causas:

Há várias regras nas quais as operações são ou não permitidas quando um banco de dados completo está em andamento em um banco de dados. Veja alguns exemplos:

  • Somente um backup de dados pode ocorrer por vez (quando ocorre um backup completo de banco de dados, backups diferenciais ou incrementais não podem ocorrer simultaneamente).
  • Somente um backup de log pode ocorrer por vez (um backup de log é permitido quando um backup completo de banco de dados está ocorrendo).
  • Não é possível adicionar nem remover arquivos em um banco de dados durante um backup.
  • Não é possível reduzir arquivos durante os backups de banco de dados.
  • Há alterações limitadas de modelo de recuperação permitidas durante os backups.

Quando uma dessas operações conflitantes forem executadas, os comandos receberão as esperas de bloqueio mencionadas na seção "Explicação" e, na sequência, você receberá as mensagens 3023 e 3041.

Ação do usuário

Examine os agendamentos das várias atividades de manutenção de banco de dados e ajuste-os para que essas operações ou esses comandos não entrem em conflito entre si.

Mais informações

O SQL Server registra a hora de início e a hora de término do Backup no msdb banco de dados. Examine o histórico de backup para determinar se um backup completo de banco de dados ocorreu durante a tentativa de um backup incremental e, portanto, foi a causa do erro. Use a seguinte consulta para ajudar você com esse processo:

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

Use também o evento Mensagem de Erro do Usuário no Rastreamento do SQL Profiler ou o evento error_reported nos Eventos Estendidos para acompanhar o relatório das mensagens 3023 no aplicativo que iniciou o backup ou outro comando de manutenção.