Como alterar permanentemente onde o MSSQL armazena informações de banco de dados?

1

Usando o console do SQL Server Management para o SQL Server 2005, vamos para

Server Properties --> Database Settings --> 
change database default location from c:\blah\blah to E:\MSSQL\DATA

Reinicamos o servidor e ele deve armazenar todos os novos bancos de dados nesse diretório, pelo menos em teoria.

Tudo está ok, mas quando restauramos o primeiro arquivo databasename.bak, ele armazena as informações no diretório C: \ Arquivos de Programas \ blah \ blah \ data.

Alguma ideia de como tornar essa permanente até mesmo para bancos de dados restaurados?

    
por Geo 31.07.2009 / 00:04

5 respostas

4

O arquivo .bak do banco de dados contém informações sobre onde o banco de dados de backup armazenou seus arquivos mdf e ldf. Meu palpite é que ele foi projetado dessa maneira para fazer restaurações super simples. Para restaurar um backup em locais diferentes (por exemplo, os novos locais que você deseja), é necessário usar alguns recursos ligeiramente avançados:

por 31.07.2009 / 00:40
1

O padrão do servidor que você define apenas controla o local padrão onde os novos bancos de dados serão localizados. Você precisa informar ao SQL o novo local dos arquivos na operação RESTORE. Se estiver usando a GUI, alterne para a página de opções da caixa de diálogo Restaurar DB e forneça a cada arquivo um novo caminho. Se estiver usando a janela de consulta, use RESTORE FILELISTONLY para obter a lista dos arquivos e, em seguida, use essa informação para RESTORE DATABASE ... WITH MOVE ... para restaurar o banco de dados no local de sua escolha.

    
por 31.07.2009 / 00:40
1

Para restaurar um banco de dados chamado "meu"

RESTORE DATABASE mine
    FROM DISK = 'c:\mine.bak'
    WITH MOVE 'mine' TO 'c:\vol\newlocation\mine.mdf',
         MOVE 'mine_log' TO 'c:\vol\newlocation\mine_log.ldf'
    
por 31.07.2009 / 01:11
0

Acredito que o backup dos bancos de dados seja padrão para restaurar onde eles estavam quando foram armazenados em backup. Então, se você quiser mudar isso, basta fazer backup dos bancos de dados assim que eles estiverem em seus novos locais.

Caso contrário, você pode ver:

HKLM\Software\Microsoft\Microsoft SQL Server\[instance name]\SQLDataRoot 

e verifique se esse é o caminho certo.

    
por 31.07.2009 / 00:33
0

Vá para o Object Explorer. Clique com o botão direito no servidor do banco de dados e selecione "Propriedades". Vá para "Configurações do banco de dados" no lado esquerdo e altere o local padrão do banco de dados.

Nota: Isso é aplicável apenas ao servidor de banco de dados específico para o qual você está fazendo as alterações.

    
por 27.07.2016 / 16:28