Sintomas
Em um ambiente do Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2, a recuperação do banco de dados pode levar muito tempo na fase 1, a fase de análise. Geralmente, esse problema ocorre quando ocorrem muitas transações entre o início e o fim do último ponto de verificação completo antes do SQL Server ser desligado. Por exemplo, milhões de transações podem ocorrer. Quando esse problema ocorre, uma mensagem de erro semelhante à seguinte é registrada no log de erros do SQL Server:
A recuperação do banco de dados 'MyDatabase' (5) é 0% concluída (cerca de 1234 segundos permanece). Fase 1 de 3. Esta é uma mensagem informativa apenas. Não é necessária nenhuma ação do usuário.
Um problema de recuperação longo também pode ocorrer se uma ou mais transações de longa duração estiverem sendo revertidas ou se muitos arquivos de log virtual (VLFs) estiverem em seu log de transação. Para obter mais informações sobre o desempenho lento ao recuperar um banco de dados, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2455009 CORREÇÃO: desempenho lento ao recuperar um banco de dados se houver muitos VLFs dentro do log de transações no SQL Server 2005, no SQL Server 2008 ou no SQL Server 2008 R2
Causa
O problema ocorre porque a tabela de hash não é gerada com buckets de hash suficientes. Portanto, demora muito tempo para pesquisar por cadeias de hash.
Resolução
Para solucionar esse problema, aplique este hotfix.
Informações sobre a atualização cumulativa
Service Pack 3 do SQL Server 2008
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 1 para SQL Server 2008 Service Pack 3. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2617146 Pacote de atualização cumulativa 1 para SQL Server 2008 Service Pack 3Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2629969 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 3 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 3 a uma instalação do SQL Server 2008 Service Pack 3. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.
SQL Server 2008 R2
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 9. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2567713 Pacote de atualizações cumulativas 9 para SQL Server 2008 R2 Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2
SQL Server 2008 R2 Service Pack 1
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 2 para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2567714 Pacote de atualizações cumulativas 2 para SQL Server 2008 R2 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1
Service Pack 2 do SQL Server 2008
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 5 para SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2555408 Pacote de atualizações cumulativas 5 para SQL Server 2008 Service Pack 2Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 2 a uma instalação do SQL Server 2008 Service Pack 2. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.
Service Pack 1 do SQL Server 2008
A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 15 para SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:
2555406 Pacote de atualizações cumulativas 15 para SQL Server 2008 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:
970365 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 1 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 a uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.
Informações sobre o hotfix
Um hotfix compatível está disponível na Microsoft. No entanto, esse hotfix destina-se apenas a corrigir o problema descrito neste artigo. Aplique esse hotfix somente aos sistemas que estiverem enfrentando o problema descrito neste artigo. Esse hotfix pode receber testes adicionais. Portanto, se você não tiver sido seriamente afetado por esse problema, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix. Se o hotfix estiver disponível para download, há uma seção "download de hotfix disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta seção não aparecer, entre em contato com o suporte e atendimento ao cliente da Microsoft para obter o hotfix. Observação Se ocorrerem problemas adicionais ou se for necessário solucionar problemas, talvez seja necessário criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados às perguntas e problemas de suporte adicionais que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone do serviço de atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço separada, acesse o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=supportObservação O formulário "download de hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, isso ocorre porque um hotfix não está disponível para esse idioma.
Pré-requisitos
Você deve ter o Microsoft SQL Server 2008 Service Pack 2 instalado para aplicar esse hotfix.
Informações sobre reinicialização
Talvez seja necessário reiniciar o computador após a aplicação desse hotfix. No entanto, o processo do SQL Server será reiniciado.
Informações sobre substituição
Esse hotfix não substitui nenhum hotfix lançado anteriormente.
Informações sobre o arquivo
A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas em UTC (Tempo Universal Coordenado). Quando você exibe as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.
Para todas as versões compatíveis com base em x86 do SQL Server 2008
Nome do arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
42.793.832 |
27-May-2011 |
21:57 |
x86 |
Para todas as versões compatíveis baseadas em x64 do SQL Server 2008
Nome do arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
57.736.040 |
27-May-2011 |
19:02 |
x64 |
Para todas as versões compatíveis com base em IA-64 do SQL Server 2008
Nome do arquivo |
Versão do arquivo |
Tamanho do arquivo |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Sqlservr.exe |
2007.100.4286.0 |
111.166.312 |
27-May-2011 |
08:14 |
IA-64 |
Solução alternativa
Para contornar esse problema, siga um destes procedimentos:
-
Aguarde até que a recuperação seja concluída.
-
Restaurar o banco de dados dos backups.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Informações adicionais
Para obter mais informações sobre pontos de verificação e a I/O de uma instância do mecanismo de banco de dados, acesse o seguinte site da Microsoft Developer Network (MSDN):
Escrevendo páginasPara obter mais informações sobre o processo de cópia de dados de um backup e a aplicação de transações registradas nos dados para que ela seja revertida para o ponto de recuperação de destino, acesse o seguinte site da Microsoft Developer Network (MSDN):
Compreendendo como a restauração e a recuperação de backups funcionam no SQL Server