Como diagnosticar repetido "Inicializando banco de dados 'dbname'”

4

Eu tenho um servidor SQL 2008 que é predominantemente usado como servidor de desenvolvimento, nas últimas duas semanas tem tido "ajustes" ocasionais, eu isolei a causa desses ataques como CHECKDB sendo executado quase continuamente, o seguinte registro as informações são registradas no log de eventos do Windows (fonte: MSSQLSERVER, categoria: servidor):

Event: 1073758961, Message: Starting up database 'DBName1'.
Event: 1073758961, Message: Starting up database 'DBName2'.
Event: 1073759397, Message: CHECKDB for database 'DBName1' finished without errors on 2010-07-19 20:29:26.993 (local time). This is an informational message only; no user action is required.
Event: 1073759397, Message: CHECKDB for database 'DBName1' finished without errors on 2010-07-19 20:29:26.993 (local time). This is an informational message only; no user action is required.

Isso é repetido a cada 1-2 segundos até que o SQL Server seja reiniciado ou os bancos de dados incorretos sejam removidos.

Inicialmente, pensei que era um problema com os bancos de dados, então fiz um backup e os restaurei para uma instância do SQL Express, todos os dados estão intactos e o CHECKDB é executado sem problemas.

Os dois bancos de dados que estavam causando um problema na semana passada não estavam sendo usados; então eu fiz backups completos deles e desvinculei os bancos de dados, isso resolveu o problema. No entanto, às 01:00 GMT desta manhã para outros bancos de dados totalmente não relacionados começaram a mostrar os mesmos problemas.

Não há nada no log de eventos para sugerir que algo aconteceu ao servidor, como uma reinicialização, não há mensagens sobre falhas de processos ou problemas detectados com o controlador de armazenamento.

Falando ao dono da empresa, este computador sofreu de "gremlins" no passado, mas o conselho foi tomado e a placa-mãe foi substituída e o computador reconstruído, a memória e o processador são os mesmos.

Estatísticas:

  • O / S : Windows 2008 Standard Build 6002
  • CPU : 2x Pentium Dual-Core E5200 @ 2.5GHz
  • RAM : 2 GB
  • SQL : Norma 2008 10.0.2531

Editar: alguém postou e excluiu um comentário sobre o AutoClose, ele foi ativado nos bancos de dados afetados. Parece que a melhor prática é desativá-lo, então fiz isso com o seguinte.

EXECUTE sp_MSforeachdb 
  'IF (''?'' NOT IN (''master'', ''tempdb'', ''msdb'', ''model''))
  EXECUTE (''ALTER DATABASE [?] SET AUTO_CLOSE OFF WITH NO_WAIT'')'

Não sei se o problema se repete há algum tempo, por isso ainda estou aberto a mais respostas.

    
por Richard Slater 20.07.2010 / 11:49

3 respostas

5

Verifique a propriedade AutoClose dos nossos bancos de dados. Desligue-o

    
por 20.07.2010 / 12:03
2

AUTO_CLOSE :

When set to ON, the database is shut down cleanly and its resources are freed after the last user exits. The database automatically reopens when a user tries to use the database again.

When set to OFF, the database remains open after the last user exits.

ALTER DATABASE DBName1 SET AUTO_CLOSE OFF;

Por padrão, os bancos de dados criados em instâncias do Express possuem o AUTO_CLOSE ON;

    
por 20.07.2010 / 18:02
-1

É um processo normal para qualquer banco de dados SQL após a reinicialização do servidor ...

O SQL Server verifica as últimas transações aplicadas no banco de dados (MDF) com o último registro registrado no log de transações (LDF). Ele pode aplicar transações do log para o banco de dados, se necessário.

    
por 20.07.2010 / 12:07