Reiniciando um banco de dados em uma instância de banco de dados sem reiniciar toda a instância do banco de dados

3

Eu tenho um servidor de banco de dados executando várias instâncias do banco de dados. Estou tendo problemas ao acessar um banco de dados específico e quero reiniciar o mesmo, mas sem reiniciar o servidor db inteiro, pois afetará outros bancos de dados na instância ou em outras instâncias no mesmo servidor.

Existe um para reiniciar um único banco de dados usando a linha de comando ou qualquer outro meio?

Desanexar o banco de dados do servidor e conectá-lo de volta ou desconectá-lo e trazê-lo de volta online é o mesmo que reiniciar esse banco de dados?

Nota: Apenas para adicionar um servidor MSSQL 2005 hospedado no win2k3.

    
por Viky 01.06.2009 / 07:33

2 respostas

7

Não sei se colocar um banco de dados individual offline e colocá-lo de volta é equivalente a reiniciar o serviço SQL (do ponto de vista do banco de dados, pelo menos - definitivamente não é para o serviço), mas ele será "redefinido" o banco de dados, na medida em que ele fechará todas as conexões existentes e reverterá todas as transações abertas. Se esse for o efeito que você está procurando, talvez seja suficiente e não afetará nenhum outro banco de dados em execução nessa instância do SQL.

Do SSMS, você pode usar este SQL:

-- 'rollback immediate' will disconnect existing users w/out
-- waiting for transactions to finish.
ALTER DATABASE MyDatabase SET OFFLINE WITH ROLLBACK IMMEDIATE
go
ALTER DATABASE MyDatabase SET ONLINE
go
    
por 01.06.2009 / 08:19
4

Quais são os problemas que você está vendo ao acessar esse banco de dados específico? Se é corrupção do banco de dados, reiniciar o banco de dados não terá qualquer efeito, mas é frequentemente tentado.

Apenas no caso de corrupção, você precisa descobrir a extensão do problema:    DBCC CHECKDB (yourdb) COM NO_INFOMSGS, ALL_ERRORMSGS

E, em seguida, restaure seus backups, extraia dados em um novo banco de dados ou, como último recurso, execute um reparo do banco de dados. Muitos prós / contras para cada um deles, dependendo do que você tem errado - mas eu não vou inundar este tópico com detalhes e links a menos que você realmente tenha problemas de corrupção. E se houver corrupção, você sempre poderá ligar para o Suporte ao produto para ajudá-lo a recuperar em tempo real, em vez de confiar no fórum.

Obrigado

    
por 01.06.2009 / 12:06