Uma duração muito longa para concluir ou encontrar erros quando o registo de transacções tem ficheiros de registo virtuais numerosos efectuam de determinadas operações de base de dados

Traduções de Artigos Traduções de Artigos
Artigo: 2028436 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Poderá encontrar os seguintes problemas:
  1. Um ou mais bases de dados demoram muito tempo para concluir a recuperação durante o arranque do SQL Server
  2. Quando efectuar o restauro de uma base de dados, demora muito tempo para concluir
  3. Tentativas para anexar uma base de dados demora muito tempo para concluir
  4. Quando tenta base de dados de configuração espelhamento (mirroring) mensagens de erro ocorrer 1413, 1443 e 1479 indicando um tempo limite.
  5. Se deparar com memória relacionados com erros como 701 quando tenta restaurar uma base de dados

Quando examina o registo de erros do SQL Server, notará que uma quantidade significativa de tempo é gasto antes da fase de análise do processo de recuperação de base de dados.
2010-05-08 14:42:38.65 spid22s da base de dados 'lot_of_vlfs' a arrancar.
14:46:04.76 de 2010-05-08 análise de spid22s da base de dados 'lot_of_vlfs' (16) é 0% concluído (continuam a cerca de 0 segundos). Fase 1 de 3. Esta é apenas uma mensagem informativa. Não é necessária nenhuma acção do utilizador.

Causa

Durante as fases iniciais de um processo de recuperação da base de dados, o SQL Server proforms um método de identificação de todos os ficheiros de registo Virtual apresentar em todos os ficheiros de registo de transacções. Uma lista de todos os ficheiros de registo Virtual é criada. Este processo pode demorar muito tempo dependendo no número de ficheiros de registo Virtual presentes na base de dados específico. Uma base de dados pode ficar com um grande número de ficheiros de registo Virtual se encontra o registo de transacções frequentes automática crescer com o crescimento acontecer para incrementos de tamanho muito pequeno.

Normalmente inicia-se se deparar com problemas mencionados na secção "Sintomas" quando o número de ficheiros de registo Virtual está no intervalo de várias centenas de milhares.

Resolução

Pode utilizar os métodos de mensagens de blogue seguintes para localizar o número de ficheiros de registo Virtual numa determinada base de dados:
Como uma estrutura de ficheiro de registo pode afectar o tempo de recuperação de base de dados
Poderá pretender manter o número total de ficheiros de registo Virtual sob um número razoável como 10.000.

Pode reconfigurar o ficheiro de registo de transacções para conter apenas um número limitado de ficheiros de registo Virtual utilizando os seguintes métodos:
  1. Diminuir os ficheiros de registo de transacções, aumentar os ficheiros para os tamanhos necessários manualmente utilizando o TSQL ALTER DATABASE <database name="">modificar o ficheiro (nome = 'nome do ficheiro lógico da transacção de tamanho do registo', = <required size="">)</required> </database>
  2. Reconstruir o ficheiro de registo de transacções e, em seguida, aumentar manualmente os ficheiros de registo de transacções para tamanhos necessários
    1. Se a base de dados anteriormente foi encerrado limpo [com não utilizadores ou transacções abertas], pode tornar a utilização da ATTACH_REBUILD_LOG de opção de criar a base de dados para criar um novo ficheiro de registo de transacções.
    2. Se uma base de dados de leitura/escrita tiver um único ficheiro que está actualmente indisponível de registo e se a base de dados foi encerrado limpar [com não utilizadores ou a transacções abertas] antes da operação de anexação, para anexar a opção de criar a base de dados automaticamente recria o ficheiro de registo e actualiza o ficheiro principal.

Depois de reconfigurar o esquema do ficheiro de registo de transacções, rever e efectuar as alterações necessárias para a crescer automaticamente as definições para o ficheiro de registo de transacções para evitar a ocorrência o mesmo problema no futuro.

Nota Antes de efectuar qualquer uma destas operações, certifique-se de que tem uma cópia de segurança de restaurável válida no caso de se deparar com alguns problemas mais tarde.

2524743 CORRECÇÃO: A recuperação demora mais tempo do que o esperado para uma base de dados num SQL Server 2008 ou num ambiente de SQL Server 2008 R2

2455009 CORRECÇÃO: Desempenho lento quando se recupera uma base de dados se existirem muitos VLF dentro o registo de transacções no SQL Server 2005, no SQL Server 2008 ou no SQL Server 2008 R2

2653893 CORRECÇÃO: Demora muito tempo para restaurar uma base de dados no SQL Server 2008 R2

979042 CORRECÇÃO: A base de dados principal não é recuperado se a base de dados tiver um grande número de ficheiros de registo virtual no SQL Server 2005 ou do SQL Server 2008

Mais Informação

Para obter informações completas sobre ficheiros de registo Virtual, consulte o tópico Books Online: Transaction Log Physical Architecture
Debates sobre este problema:
Como uma estrutura de ficheiro de registo pode afectar o tempo de recuperação de base de dados
Transacção registo VLF - demasiados ou poucos?
Erro de 1413 ao iniciar o espelhamento de bases de dados ? quantos ficheiros de registo virtual é demasiados?

Tome igualmente nota de um problema conhecido com registos de transacções crescente:

2633151 O ficheiro de registo de transacção de base de dados do SQL Server não aumenta pelo valor de crescimento do ficheiro configurado


Para mais informações sobre os produtos ou ferramentas que verificam automaticamente para esta condição à sua instância do SQL Server e sobre as versões do produto SQL Server, consulte a tabela seguinte:

Reduzir esta tabelaExpandir esta tabela
Software de regraTítulo de regraDescrição da regraVersões de produtos contra os quais a regra é avaliada
Analisador de prática SQL Server 2008 R2 melhores (SQL Server 2008 R2 BPA)




Bases de dados com um número elevado de VLF presente





O SQL Server 2008 R2 prática analisador de melhores (SQL Server 2008 R2 BPA) fornece uma regra para detectar situações em que as bases de dados contém um grande número de ficheiros de registo Virtual. O SQL Server 2008 R2 BPA suporta o SQL Server 2008 e o SQL Server 2008 R2.

Se executar a ferramenta BPA e ocorrer um erro com o título do motor de base de dados - bases de dados com um número elevado de VLF presente, em seguida, é necessário verificar o número de ficheiros de registo Virtual para a base de dados afectado e reconfigurar o ficheiro de log de transacções.
SQL Server 2008
SQL Server 2008 R2






Com o formato de analisador de melhor práticas do SQL Server 2012 (BPA de 2012 do SQL Server)



Bases de dados com um número elevado de VLF presente




O SQL Server 2012 prática analisador de melhores (BPA de 2012 do SQL Server) fornece uma regra para detectar situações em que as bases de dados contém um grande número de ficheiros de registo Virtual.

Se executar a ferramenta BPA e ocorrer um erro com o título do motor de base de dados - bases de dados com um número elevado de VLF presente, em seguida, é necessário verificar o número de ficheiros de registo Virtual para a base de dados afectado e reconfigurar o ficheiro de log de transacções.
Servidor SQL 2012








Propriedades

Artigo: 2028436 - Última revisão: 7 de maio de 2014 - Revisão: 4.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
Palavras-chave: 
kbmt KB2028436 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: 2028436

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