Como restaurar o banco de dados do modelo do SQL Server?

2

Desde alguns dias atrás, quando tento iniciar o serviço do SQL Server, ele falha com o seguinte erro registrado no log do aplicativo NT:

An error occurred during recovery, preventing the database 'model' (database ID 3) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.

Como posso restaurar (ou reconstruir) o banco de dados de modelo, quando o banco de dados mestre é bom, mas não posso executar comandos sql no banco de dados (ou conectar-se a ele do estúdio de gerenciamento) porque o SQL Server não mesmo começar neste caso?

Eu tenho backups em um contêiner / volume de backup (todos os backups em um único arquivo em um segundo HD). Eu acredito que o modelo de recuperação do banco de dados modelo seja SIMPLES .

Eu realmente não encontrei muita informação nos documentos ou na internet (como isso ), como na maioria dos artigos, o serviço é realmente executado para que você possa executar comandos, ou o banco de dados mestre também está corrompido.

Algumas entradas selecionadas do ERRORLOG:

  • Tentativa de recuperar transações distribuídas duvidosas envolvendo o MS DTC (Coordenador de Transações Distribuídas da Microsoft) [..]
  • CHECKDB para o banco de dados 'master' concluído sem erros [..]
  • Iniciando o banco de dados 'model'.
  • AVISO: não foi exibido LOP_CKPT_END .
  • Erro: 3414, gravidade: 21, estado: 2.
  • Ocorreu um erro durante a recuperação, evitando que o banco de dados 'model' (ID do banco de dados 3) fosse reiniciado. Diagnostique os erros de recuperação e corrija-os ou restaure a partir de um backup válido. Se os erros não forem corrigidos ou esperados, entre em contato com o Suporte técnico.
  • O rastreamento do SQL foi interrompido devido ao encerramento do servidor. ID de rastreio = '1'. [..]

Microsoft SQL Server 2005 - 9.00.4053.00, no Windows NT 5.2 (Build 3790: Service Pack 2)

Alguma ideia? Muito obrigado!

    
por Christoph Rüegg 11.12.2009 / 11:20

3 respostas

2

Como é "apenas" o banco de dados de modelo, eu recomendo apenas copiar um banco de dados de modelo de uma instância de trabalho. Reconstruir todos os bancos de dados do sistema não é necessário neste caso.

    
por 11.12.2009 / 15:39
2

O modelo é necessário na inicialização para criar o tempdb. Sem tempdb, o mecanismo não pode iniciar. Você pode copiar o modelo de outra instância que esteja no mesmo build 9.00.4053. Se você modificou o modelo e o que preservar essas modificações, você pode tentar copiar mdf / ldf para outro servidor e anexá-lo como banco de dados comum de usuário para tentar repará-lo e, em seguida, copiá-lo de volta.

    
por 11.12.2009 / 22:36
1

Você já tentou iniciar o sql server a partir da linha de comando?

    
por 11.12.2009 / 17:03