No artigo de hoje, vamos demonstrar em como mover o banco de dados (arquivo MDF e LDF) de uma pasta para outra no SQL Server.
Se você já teve a necessidade de alterar a pasta de um banco de dados, siga o procedimento abaixo.
Observação Importante: Antes de iniciar o procedimento, verifique se não tem nenhum usuário utilizando a base que será manipulada, por questão de segurança e integridade dos dados!
Observação Importante 2: As queries executadas, tente rodar no master, não rode diretamente na base, pois ela estará em uso.
- O primeiro passo é encontrar em que pasta que esta configurado o Banco de Dados, no nosso caso, o banco é chamado de BASE_TESTE, execute a seguinte query (modifique o nome do banco para o seu cenário):
SELECT name, physical_name AS NewLocation, state_desc AS OnlineStatus FROM sys.master_files WHERE database_id = DB_ID(N'BASE_TESTE') GO
- Ao executar a query acima, ele vai te mostrar em qual caminho que esta os arquivos
- Agora vamos alterar o caminho configurado no SQL Server para a nova pasta
ALTER DATABASE BASE_TESTE MODIFY FILE ( NAME = BASE_TESTE, FILENAME = 'C:\TOTVS\SQL\BASE_TESTE.mdf'); GO ALTER DATABASE BASE_TESTE MODIFY FILE ( NAME = BASE_TESTE_log, FILENAME = 'C:\TOTVS\SQL\BASE_TESTE_Log.ldf'); GO
- Após você executar, terá um resultado similar ao abaixo:
- Vamos deixar a base OFFLINE para podermos manipular os arquivos, para isso, execute a seguinte query:
ALTER DATABASE BASE_TESTE SET OFFLINE; GO
- Após executar a query, ela dará o seguinte resultado:
- Agora mova os arquivos da pasta de origem (que você pegou no passo 1) para a pasta destino (que você definiu no passo 3)
- Volte a base para ONLINE, com o seguinte comando:
ALTER DATABASE BASE_TESTE SET ONLINE; GO
- Se tudo der certo, abaixo um print do resultado
- Por fim, você pode executar novamente a query do passo 1, para verificar em qual pasta que esta configurado a base de dados:
Referências:
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Caro “Dan”, os comandos do SQL Server: detach e atach.
Mais seguros, evita erros de digitação que o Murphy adora! rs
Fraternal abraço.
Bom dia Natanael, tudo joia?
Opa, muito obrigado pelo adendo e pelo comentário, foi muita gentileza sua dispor do seu tempo para comentar na nossa página.
Pensamos em alguma forma de mover o MDF e LDF via comando, mais como curiosidade, claro que voltado para pessoas que possuam mais experiência na execução dos mesmos. Por isso montamos esse artigo.
Claro que a lei de Murphy pode contribuir para acontecer problemas rs, mas nossa intenção foi só criar um artigo para ajudar outras pessoas com cenários que possam necessitar da execução de comandos.
Ai se você tiver disponibilidade, e quiser redigir uma forma melhor de fazer esse procedimento para adicionarmos nesse artigo, enviando prints, com dicas de boas práticas envolvendo o ambiente SQL Server, ficaremos agradecidos e iremos modificar nosso artigo, adicionando sua sugestão. Se quiser, pode nos enviar um email: https://terminaldeinformacao.com/contato/
No mais, agradecemos mais uma vez pelo comentário enviado, e pedimos desculpas por qualquer transtorno causado em nosso artigo.
Tenha uma ótima e abençoada quinta feira.
Um grande abraço.