Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Details
| Attribute | 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 backup e manipulação de ficheiros (como ALTER DATABASE ADD FILE) numa base de dados devem ser serializadas. Reemita a instrução após a operação atual de backup ou manipulação de ficheiros estar concluída |
Explanation
Tenta executar um comando Backup, shrink ou alter database no SQL Server, e depara-se com as seguintes mensagens:
Msg 3023, Nível 16, Estado 2, Linha 1
As operações de backup e manipulação de ficheiros (como ALTER DATABASE ADD FILE) numa base de dados devem ser serializadas. Emita novamente o comando depois de concluída a operação atual de cópia de segurança ou de manipulação de ficheiros.
Msg 3013, Nível 16, Estado 1, Linha 1
BACKUP DATABASE está a terminar de forma anormal.
Além disso, o registo de erros do SQL Server contém mensagens como as seguintes:
<Data> Hora Erro de Backup: 3041, Gravidade: 16, Estado: 1.
<O Datetime> Backup BACKUP falhou em completar o comando BACKUPDATABASE MyDatabase COM DIFFERENTIAL. Verifique o log do aplicativo de backup para obter mensagens detalhadas.
Também poderá notar que estes comandos encontram a wait_type = LCK_M_U e a wait_resource = DATABASE: <id> [BULKOP_BACKUP_DB] quando o estado destes comandos é visualizado a partir das várias vistas dinâmicas de gestão (DMVs), como from sys.dm_exec_requests ou sys.dm_os_waiting_tasks.
Causas possíveis
Existem várias regras sobre quais operações são permitidas ou não quando uma base de dados completa está atualmente em curso contra uma base de dados. Alguns exemplos são os seguintes:
- Apenas um Backup de dados pode ocorrer de cada vez (quando ocorre um Backup completo da base de dados, Backups diferenciais ou incrementais não podem ocorrer ao mesmo tempo).
- Só pode ocorrer um backup de um registo de cada vez (é permitido um backup de registo quando está a ocorrer um backup completo da base de dados).
- Não pode adicionar ou eliminar ficheiros numa base de dados enquanto está a decorrer um Backup.
- Não podes reduzir ficheiros enquanto estão a acontecer backups da base de dados.
- Existem alterações limitadas ao modelo de recuperação permitidas enquanto ocorrem backups.
Quando qualquer uma destas operações conflitantes é realizada, os comandos encontram as esperas de bloqueio mencionadas na secção "Explicação", seguidas de receber as mensagens 3023 e 3041.
Ação do usuário
Examine os cronogramas das várias atividades de manutenção da base de dados e, em seguida, ajuste os cronogramas para que estas operações ou comandos não entrem em conflito entre si.
Mais informações
O SQL Server regista a hora de início e o fim do Backup na msdb base de dados. Pode analisar o histórico de Backup para determinar se houve uma Backup completa da base de dados enquanto uma Backup incremental foi tentada e, por isso, causou o erro. Pode usar a seguinte consulta para o ajudar neste 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
Também pode usar o evento de Mensagem de Erro do Utilizador no SQL Profiler Trace ou o evento error_reported nos Eventos Estendidos para acompanhar o relatório das mensagens 3023 de volta à aplicação que iniciou o comando Backup ou outro comando de manutenção.