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

Traduções de Artigos Traduções de Artigos
Artigo: 907511 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir 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ção

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

Artigo: 907511 - Última revisão: 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 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Palavras-chave: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtpt
Tradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
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