Como reduzir o arquivo de log de transação no SQL Server 2005

Traduções deste artigo Traduções deste artigo
ID do artigo: 907511 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sumário

Microsoft SQL Server 2005, você pode reduzir um arquivo de log de transação no banco de dados para remover páginas não utilizadas. Reutiliza o mecanismo de banco de dados espaço efetivamente. No entanto, quando um arquivo de log de transação cresce inesperadamente, você pode ter diminuir manualmente o arquivo de log de transação.

Este artigo descreve como usar o A instrução DBCC SHRINKFILE para reduzir o arquivo de log de transação manualmente na modelo de recuperação total em um banco de dados do SQL Server 2005. O método usar para reduzir o arquivo de log de transação no SQL Server 2005 pode ser diferente do método que usar para reduzir o arquivo de log de transação no SQL Server 2000. Para obter mais informações sobre como reduzir o arquivo de log de transação no SQL Server 2000, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
272318Reduzindo o log de transações SQL Server 2000 com DBCC SHRINKFILE

Mais Informações

No SQL Server 2005, uma operação de redução (DBCC SHRINKFILE) tenta Reduza imediatamente o arquivo de log de transação especificada para o tamanho solicitado. Para reduzir o arquivo de log de transação manualmente sob o modelo de recuperação completa, faça primeiro o arquivo de log de transação. Em seguida, use o Instrução DBCC SHRINKFILE para reduzir o arquivo de log de transação.

Normalmente, diminuindo o arquivo de log de transação em SQL Server 2005 é mais rápido do que reduzir o arquivo de log de transação no SQL Server 2000. O motivo é que o SQL Gerenciador de log Server 2005 cria ou reutiliza os arquivos de log virtuais inativo por seguindo a ordem de armazenamento de disco físico. Portanto, a parte inativa da transação arquivo de log é geralmente no final do arquivo.

Por exemplo, o arquivo de log de transação pode ter 100 arquivos de log virtuais, e apenas 2 arquivos de log virtuais são usados. SQL Server 2000 pode armazenar o primeiro arquivo de log virtual usado no Inicie o arquivo de log de transação e o segundo arquivo de log virtual usado no meio do arquivo de log de transações. Para reduzir o arquivo de log de transação para apenas 2 arquivos de log virtuais, SQL Server preenche a parte restante do segundo arquivo de log virtual usando log fictício entradas. SQL Server move o início do log lógico ao próximo disponível virtual arquivo de log especificado pelo Gerenciador de log. O Gerenciador de log pode criar um arquivo de log virtual no meio do arquivo de log de transações apenas depois de último ativo virtual arquivo de log. Nesse caso, você precisa usar várias operações de backup de log e várias operações de redução para reduzir com êxito o arquivo de log de transação para 2 arquivos de log virtuais. No pior caso deste exemplo, talvez você precise usar 50 operações de backup de log e redução de 50 arquivos de log de operações para reduzir com êxito o arquivo de log de transação para 2 virtual.

No entanto, no SQL Server 2005, você pode executar uma instrução DBCC SHRINKFILE para reduzir o arquivo de log de transação imediatamente para 2 arquivos de log virtuais. Para fazer isso porque o Gerenciador de log do SQL Server 2005 cria arquivos de log virtuais 2 seguindo a ordem de armazenamento de disco físico. Ambos os arquivos de log virtuais estão no início do arquivo de log de transação.

Ao tentar reduzir um arquivo de log de transação que tenha pouco espaço livre no SQL Server 2005, você terá que executar uma operação de backup de log adicionais. A operação de backup de log adicional trunca o arquivo de log de transação para um tamanho menor. Esta operação de backup de log é além de três etapas que realizar para reduzir o arquivo de log de transação no SQL Server 2000. Para obter mais informações, consulte o artigo Microsoft Knowledge Base mencionado na seção "Resumo". Para reduzir um arquivo de log de transação que tenha pouco espaço livre no SQL Server 2005, siga estas etapas:
  1. Fazer backup do arquivo de log de transações para fazer a maioria dos arquivos de log virtuais ativo inativo. Portanto, os arquivos de log virtuais inativos podem ser removidos em uma etapa posterior. Para fazer isso, inicie o SQL Server Management Studio e execute uma instrução Transact-SQL semelhante a seguinte instrução Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Observação Nesta instrução, <DatabaseName></DatabaseName>é um espaço reservado para o nome do banco de dados que você está fazendo backup, e <BackupFile></BackupFile> é um espaço reservado para o caminho completo do arquivo de backup.

    Por exemplo, execute a seguinte instrução Transact-SQL.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Reduza o arquivo de log de transação. Para fazer isso, execute uma instrução Transact-SQL semelhante a seguinte instrução Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Observação Nesta instrução, <FileName></FileName>é um espaço reservado para o nome de arquivo de log de transação e <TargetSize></TargetSize> é um espaço reservado para o tamanho de destino que você deseja que o arquivo de log de transação a ser. O tamanho de destino deve ser razoável. Por exemplo, você não é possível reduzir o arquivo de log de transação para um tamanho menor que 2 arquivos de log virtuais.
  3. Se a instrução DBCC SHRINKFILE não reduzir o arquivo de log de transação para o tamanho de destino, execute a instrução BACKUP LOG mencionado na etapa 1 para tornar mais dos arquivos de log virtuais inativos.
  4. Execute a instrução DBCC SHRINKFILE mencionada na etapa 2. Após esta operação, o arquivo de log de transação deve ser quase o tamanho de destino.
Em resumo, o algoritmo do Gerenciador de log para obter o próximo arquivo de log virtual alterado no SQL Server 2005. Portanto, reduzir o arquivo de log de transação no SQL Server 2005 pode diferir diminuindo o arquivo de log de transação no SQL Server 2000.
  • Se um arquivo de log tem muito espaço livre, diminuindo o arquivo de log de transação no SQL Server 2005 é mais rápido que diminuindo o arquivo de log de transação no SQL Server 2000.
  • Se um arquivo de log tem sem espaço livre, diminuindo o arquivo de log de transação no SQL Server 2005 é a mesma diminuindo o arquivo de log de transação no SQL Server 2000.
  • Se um arquivo de log tem pouco espaço livre, talvez você precise executar um backup de log adicionais operação no SQL Server 2005 que você precisa realizar no SQL Server 2000.

Referências

Para obter mais informações sobre como reduzir o log de transações, vá para o Reduzindo o Log de transações Site da Microsoft Developer Network (MSDN).

Para obter mais informações sobre a instrução DBCC SHRINKFILE, vá para o DBCC SHRINKFILE (Transact-SQL) Site do MSDN.

Para obter mais informações sobre truncamento de log de transação, vá para o Truncamento de Log de transação Site do MSDN.

Propriedades

ID do artigo: 907511 - Última revisão: terça-feira, 16 de julho de 2013 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Palavras-chave: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 907511

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com