Usuário com melhor resposta
Attach de Bases de dados

Pergunta
-
Boa tarde a todos,
estou com a seguinte problema.
Tenho uma copia da pasta "data" onde tenho certa de 4000 Bd's e necessito de repor o sistema.
existe alguma forma de efectuar o attach destas BD's sem ser "uma a uma".
Agradeço a vossa preciosa ajuda.
Nuno
Respostas
-
Nuno,
Todos os bancos de dados possuem somente um arquivo de dados e log?
Particularmente falando eu nunca fiz isso com esta quantidade, já utilizei algo similar com um número bem menor, algo próximo a 100 bases de dados. Em adicional, os arquivos de log eu não realizei o processo de attach, foi somente os arquivos .MDF.
Um passo inicial pode ser utilizar este link:
https://www.mssqltips.com/sqlservertip/5011/script-to-attach-multiple-sql-server-mdf-files/
O primeiro passo seria obter a lista de arquivos que você possui, armazenando a relação de nomes dentro de uma tabela, para isso poderíamos utilizar a Extended Procedure XP_CMDShell, fazendo uso do comando dir.
Veja o exemplo abaixo:
-- Habilitando o XP_CMDShell -- Exec sp_configure 'xp_cmdshell',1 Reconfigure With Override Go -- Criando Tabela para armazenar os arquivos -- Create Table ListaDeArquivos (NumeroDoArquivo Int Primary Key Identity(1,1), NomedoArquivo Varchar(300) Null) Go -- Inserindo o resultado do XP_CMDShell na Tabela -- Insert Into ListaDeArquivos EXEC master..xp_cmdshell 'dir *.mdf /on /w /b' Go -- Confirmando os dados dados -- Select * From ListaDeArquivos Go
Veja se estes passos iniciais te ajudam a ter uma ideia do caminho.
Há um certo tempo utilizei este link para um outro cenário:
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
Júnior,
Obrigado.
Tenho ambos os ficheiros (LDF e MDF).
vou verificar os links fornecido e tentar essa abordagem e ver o que consigo.
- Marcado como Resposta Nuno Morgado segunda-feira, 22 de junho de 2020 09:31
Todas as Respostas
-
Nuno,
Todos os bancos de dados possuem somente um arquivo de dados e log?
Particularmente falando eu nunca fiz isso com esta quantidade, já utilizei algo similar com um número bem menor, algo próximo a 100 bases de dados. Em adicional, os arquivos de log eu não realizei o processo de attach, foi somente os arquivos .MDF.
Um passo inicial pode ser utilizar este link:
https://www.mssqltips.com/sqlservertip/5011/script-to-attach-multiple-sql-server-mdf-files/
O primeiro passo seria obter a lista de arquivos que você possui, armazenando a relação de nomes dentro de uma tabela, para isso poderíamos utilizar a Extended Procedure XP_CMDShell, fazendo uso do comando dir.
Veja o exemplo abaixo:
-- Habilitando o XP_CMDShell -- Exec sp_configure 'xp_cmdshell',1 Reconfigure With Override Go -- Criando Tabela para armazenar os arquivos -- Create Table ListaDeArquivos (NumeroDoArquivo Int Primary Key Identity(1,1), NomedoArquivo Varchar(300) Null) Go -- Inserindo o resultado do XP_CMDShell na Tabela -- Insert Into ListaDeArquivos EXEC master..xp_cmdshell 'dir *.mdf /on /w /b' Go -- Confirmando os dados dados -- Select * From ListaDeArquivos Go
Veja se estes passos iniciais te ajudam a ter uma ideia do caminho.
Há um certo tempo utilizei este link para um outro cenário:
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
- Editado Junior Galvão - MVPMVP terça-feira, 17 de março de 2020 18:09
-
Nuno,
Todos os bancos de dados possuem somente um arquivo de dados e log?
Particularmente falando eu nunca fiz isso com esta quantidade, já utilizei algo similar com um número bem menor, algo próximo a 100 bases de dados. Em adicional, os arquivos de log eu não realizei o processo de attach, foi somente os arquivos .MDF.
Um passo inicial pode ser utilizar este link:
https://www.mssqltips.com/sqlservertip/5011/script-to-attach-multiple-sql-server-mdf-files/
O primeiro passo seria obter a lista de arquivos que você possui, armazenando a relação de nomes dentro de uma tabela, para isso poderíamos utilizar a Extended Procedure XP_CMDShell, fazendo uso do comando dir.
Veja o exemplo abaixo:
-- Habilitando o XP_CMDShell -- Exec sp_configure 'xp_cmdshell',1 Reconfigure With Override Go -- Criando Tabela para armazenar os arquivos -- Create Table ListaDeArquivos (NumeroDoArquivo Int Primary Key Identity(1,1), NomedoArquivo Varchar(300) Null) Go -- Inserindo o resultado do XP_CMDShell na Tabela -- Insert Into ListaDeArquivos EXEC master..xp_cmdshell 'dir *.mdf /on /w /b' Go -- Confirmando os dados dados -- Select * From ListaDeArquivos Go
Veja se estes passos iniciais te ajudam a ter uma ideia do caminho.
Há um certo tempo utilizei este link para um outro cenário:
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | MTAC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
Júnior,
Obrigado.
Tenho ambos os ficheiros (LDF e MDF).
vou verificar os links fornecido e tentar essa abordagem e ver o que consigo.
- Marcado como Resposta Nuno Morgado segunda-feira, 22 de junho de 2020 09:31