Banco de DadosSQL Server, MySQL, Oracle, PostgreSQL, ...

Movendo arquivo de banco de dados no SQL Server 2000

3 Flares Pin It Share 0 Facebook 1 LinkedIn 1 Google+ 1 Twitter 0 3 Flares ×

O dia começou com um dos discos, onde estão banco de dados importantes, lotados!

Consequências: Arquivos de bancos de dados não conseguem crescer, logo as aplicações não conseguem atualizar dados… “bug“.

Lembrando que, no dia-a-dia esse cenário pode (e deve) ser evitado com monitoramento diário do crescimento dos arquivos de banco de dados (datafiles). Mas, eventualmente acontece: por alguma carga de dados que não foi dimensionada ao volume disponível no servidor de dados de dados (por exemplo).

Pois bem…

O cenário

Para mudar aquivos de banco de dados dados (.MDF, .NDF e/ou .LDF) no SQL Server 2000 é bom ter alguns scripts a mão (geralmente, quando isso acontece você precisa de uma solução rápida).

Segue ai…

/* 01. Restringe Acesso ao Banco de Dados somente para "SysAdmin" */
USE master;
GO 
 
ALTER DATABASE nome_banco_dados
	SET SINGLE_USER;
GO
 
ALTER DATABASE nome_banco_dados 
	SET RESTRICTED_USER;
GO
 
/* PROCEDIMENTO RECOMENDADO para SQL Server 2000 com sp_attach_db e sp_detach_db */
USE master;
 
/* 02. Desanexar o banco de dados do Servidor de Banco de dados */
EXEC sp_detach_db
      @dbname = N'nome_banco_dados';
 
/* 03. Move manualmente o arquivos para a nova localização (com mais espalo livre) */
 
/* 04. Anexar o banco de dados ao Servidor de Banco de dados
 os parametros @filename1, @filename2, ... 
 DEVE ter o filegroup PRIMARY (como @filename1) + os arquivos movidos */
EXEC sp_attach_db
      @dbname = N'nome_banco_dados',
      @filename1 = N'[novo_path]\nome_banco_dados.MDF',
	  @filename2 = N'[novo_path]\nome_banco_dados_log.LDF';

Se tem banco de dados sob sua responsabilidade é bom scripts como esse a mão!

Para mais detalhes: sp_attach_db e sp_deattach_db.

Considero aqui um ambiente (legado) com SQL Server 2000 (muito comum de ser encontrado). Para SQL Server 2005 são outras as recomendações veja aqui.

PS.: Forma rápida de listar todos os arquivos do banco de dados: sp_helpdb.

3 Flares Pin It Share 0 Facebook 1 LinkedIn 1 Google+ 1 Twitter 0 3 Flares ×