Entrar

Despejos de banco de dados e restauração pode encher o banco de dados MSDB

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

152354
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Tarefas com base em executivo SQL falharem e a seguinte mensagem de erro é retornada:
Erro: 1105, gravidade: 17, estado 2
Não é possível alocar espaço para objeto ' %. * s 'no banco de dados' %. * s ' porque o
' %. * s ' segmento está cheio. Se você executou fora do espaço em Syslogs, despejar o
log de transações. Caso contrário, use ALTER DATABASE ou sp_extendsegment para
Aumente o tamanho do segmento.
As tarefas baseadas em SQL Executive podem falhar incluem:
  1. Despejos agendados e restaurações.
  2. Tarefas configuradas para replicação.
  3. Alertas.
  4. As tarefas agendadas da Web.
Causa
O banco de dados MSDB está cheio.
Como Contornar
No SQL Server 6.5, as tabelas a seguir foram adicionadas ao banco de dados MSDB para ajudar na manutenção de informações de backup:

sysbackupdetail: especifica um resumo dos dispositivos usados para backup (dump).
sysbackuphistory: especifica um resumo de cada operação de backup (dump).
sysrestoredetail: especifica um resumo dos dispositivos usados para restaurar (carregar).
sysrestorehistory: especifica um resumo de cada operação de restauração (carregar).

SQL Server mantém automaticamente um online backup e restauração histórico completo no banco de dados MSDB. Essas informações incluem quem executou o backup, quando foi feito e quais dispositivos ou arquivos que ele está armazenado.

O administrador do sistema deve monitorar essas tabelas para excluir as entradas antigas nessas tabelas para garantir que o banco de dados MSDB não preenche.

O procedimento armazenado seguinte pode ser usado para excluir entradas destas tabelas de sistema no banco de dados MSDB.
use mastergosp_configure 'allow', 1goreconfigure with overridegodrop proc sp_cleanbackupRestore_log   go   create proc sp_cleanbackupRestore_log   @DeleteBeforeDate datetime   as   begin      Delete from msdb.dbo.sysbackupdetail where backup_id         in (Select backup_id from msdb.dbo.sysbackuphistory where backup_start <=   @DeleteBeforeDate)      Delete from msdb.dbo.sysbackuphistory where backup_start  <=   @DeleteBeforeDate      Delete from msdb.dbo.sysrestoredetail where restore_id         in (Select restore_id from msdb.dbo.sysrestorehistory where backup_start <=   @DeleteBeforeDate)      Delete from msdb.dbo.sysrestorehistory where backup_start <=   @DeleteBeforeDate   endgosp_configure 'allow', 0goreconfigure with override				
, em seguida, você precisará executar o procedimento armazenado recém-criado. Por exemplo, se você quiser excluir todas as entradas nas tabelas listadas no procedimento armazenado que ocorreu antes de 2 de janeiro de 1997, você executaria o seguinte:
exec sp_cleanbackupRestore_log  '1/2/97'				
se você quiser automatizar o código, você pode usar algo semelhante à seguinte:
declare @DeleteBeforeDate datetime-- Modify the second parameter as necessary.-- It is currently set to delete anything older than 60 days.select  @DeleteBeforeDate = DATEADD(day, -60, getdate())select  @DeleteBeforeDate   exec sp_cleanbackupRestore_log  @DeleteBeforeDate				
Observação: se você receber um 1105 para syslogs' objeto' consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft: 110139 - INF: Causes of SQL Transaction Log Filling Up.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 152354 - Última Revisão: 09/30/2013 22:20:08 - Revisão: 4.0

  • Microsoft SQL Server 6.5 Standard Edition
  • kbnosurvey kbarchive kbmt kbprb KB152354 KbMtpt
Comentários