Por que eu colocaria um banco de dados offline?

10

Por quais motivos e em que situações você usaria o recurso "Colocar off-line" / ALTER DATABASE dbName SET OFFLINE .

Quais tarefas você pode executar com um banco de dados offline? Quais tarefas você só pode executar com um banco de dados offline?

    
por Greg B 12.11.2010 / 15:40

5 respostas

15

Você pode mover o arquivo MDF para outro servidor para colocá-lo on-line.

    
por 12.11.2010 / 15:47
14

Em ambientes de desenvolvimento / preparação, às vezes é útil colocar um banco de dados offline para garantir que você esteja se conectando à instância correta do banco de dados no aplicativo e que não tenha uma cadeia de conexão levantada em algum lugar.

Dito isto, nesta situação é uma ideia muito melhor ter nomes de banco de dados diferentes para os diferentes ambientes e um processo de construção que irá configurar automaticamente as seqüências de conexão ...

Da mesma forma, gosto de deixar os bancos de dados off-line por um período de tempo antes de desatribuí-los na (talvez não) chance de que, por algum motivo, eles precisem voltar a ficar on-line. Eu fui mordido algumas vezes por desenvolvedores que têm ganchos que eu não conheço em um dos meus bancos de dados quando eu quero me livrar dele. Torná-lo offline muito menos drástico e menos demorado do que excluí-lo e restaurá-lo, se necessário.

Outra coisa seria como uma salvaguarda emergencial. Eu tive que fazer isso antes. Às vezes, um bug desagradável é encontrado em seu aplicativo que, embora não seja malicioso, ainda corromperá os dados em seu banco de dados. Colocar o banco de dados offline é uma maneira rápida de interromper o sangramento até que você consiga identificar o bug. Você pode então trazê-lo de volta on-line para avaliar o dano no banco de dados.

    
por 25.11.2010 / 05:25
4

Embora algumas das respostas aqui possam lhe dar algumas idéias sobre o que você pode fazer com um banco de dados que tenha acesso restrito, pouco pode realmente ser feito com um banco de dados que esteja offline. Você não pode atualizar, atualizar, adicionar ou excluir dados, etc.

    
por 12.11.2010 / 16:11
0

Meu motivo primordial, o que tenho que vender para o DBA com mais frequência do que gostaria de enumerar ...

"A SAN precisa de reparos ... e não, eu não posso simplesmente trocar a unidade a quente, o backplane / controlador está com defeito."

As instâncias de banco de dados se comportam muito mal quando seus discos desaparecem.

Assim, encerro as instâncias do SQL antes de colocar a SAN off-line e, em seguida, as troco de volta, uma de cada vez, para que elas não contestem recursos - a primeira instância pega todos os recursos do cluster e se torna o nó Active DB. instâncias subsequentes são executadas como nós passivos.

    
por 04.04.2017 / 23:08
-3

Existem muitas razões pelas quais você precisaria fazer isso ...

Por exemplo,

consider changing or upgrading the actual database program/binary...
consider changing or upgrading the schema or tables..
consider changing or upgrading index's..

O ponto mais importante ..

Is taking a backup.. to get a perfect snapshot in time.. 

(em alguns DB's você cria um bloqueio em todas as tabelas)

    
por 12.11.2010 / 15:48

Tags