Movendo os banco de dados do SQL Server 7.0 para um novo servidor com BACKUP e RESTORE

Traduções deste artigo Traduções deste artigo
ID do artigo: 304692
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo descreve como restaurar os backups do banco de dados para usuários e sistemas em outra instalação do SQL Server 7.0 com diferentes configurações de letra de unidade para a qual você originalmente fez o backup dos bancos de dados. Será possível usar esse método quando quiser mover um banco de dados usando os backups ou as restaurações dos bancos de dados. Para obter informações adicionais sobre o uso de um método alternativo, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:
224071 Como mover os bancos de dados do SQL Server para um novo local usando as funções Desanexar e Anexar no SQL Server
OBSERVAÇÃO: Essas instruções no artigo não se aplicam ao SQL Server 2000.

Não é possível restaurar os bancos de dados de sistema master, model, msdb ou de distribuição do SQL Server 7.0 para o SQL Server 2000. Os bancos de dados de sistema do SQL Server 7.0 não são compatíveis com o SQL Server 2000.

Mais Informações

Os exemplos nesse artigo são baseados nas seguintes suposições:
  • A instalação de destino do SQL Server 7.0 é no diretório D:\Mssql7 e os arquivos do banco de dados e do log estão localizados no diretório padrão D:\Mssql7\data.
  • A instalação de origem do SQL Server 7.0 é no diretório C:\Mssql7 e os arquivos do banco de dados e do log estão localizados no diretório padrão C:\Mssql7\data.

Pré-requisitos

  • Crie um backup atual de todos os bancos de dados a partir de seus locais atuais, particularmente para os bancos de dados master, model e msdb.
  • É preciso ter privilégios de administrador de sistema.
  • É preciso saber o nome lógico e os nomes físicos de todos os arquivos de dados e de log para os bancos de dados que deseja restaurar.

    OBSERVAÇÃO: Para determinar o nome lógico e o nome físico de todos os arquivos que deseja restaurar do conjunto de backup, execute o seguinte comando em uma conexão do Query Analyzer onde mydbdata.bak é o nome do arquivo que contém o backup do banco de dados:
    RESTORE FILELISTONLY FROM DISK='d:\mssql7\backup\mydbdata.bak'
    go
    					
  • As instalações de origem e de destino do SQL Server 7.0 devem ter os mesmos service packs e patches aplicados.
Se tiver problemas durante o processo e não puder acessar um banco de dados movido ou não for possível iniciar o SQL Server, examine o log de erro do SQL Server e os manuais online do SQL Server 7.0 para obter os detalhes sobre os erros encontrados.

Para restaurar os bancos de dados:

  1. Restaure o banco de dados master.

    No seguinte exemplo, o banco de dados master contém um arquivo de dados, Master.mdf, e um arquivo do log, Mastlog.ldf, do arquivo de backup completo do banco de dados, Master_db.bak.
    1. Execute o seguinte comando a partir de um prompt de comando para iniciar o SQL Server:
      d:\mssql7\binn\sqlservr -c -m

      OBSERVAÇÃO: A opção -m inicia o SQL Server no modo de usuário único. No modo de usuário único, não é possível criar mais uma única conexão com êxito. Esteja ciente de que qualquer outro cliente ou serviço pode criar a conexão única antes de conectar com o SQL Server Query Analyzer.
    2. No SQL Server Query Analyzer, use a seguinte sintaxe para restaurar um backup do banco de dados master:
      RESTORE DATABASE master FROM disk='d:\mssql7\backup\master_db.bak'
      WITH MOVE 'master' to 'd:\mssql7\data\master.mdf',
      MOVE 'mastlog' to 'd:\mssql7\data\mastlog.ldf',
      REPLACE
      go
      OBSERVAÇÃO: O SQL Server é desligado automaticamente após a restauração do banco de dados master.
    3. Execute o seguinte comando a partir de um prompt de comando para iniciar o SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
      OBSERVAÇÃO: Ao usar essa sintaxe, é possível executar as atualizações de tabela do sistema.
    4. No SQL Server Query Analyzer, execute o seguinte conjunto de instruções:

      AVISO: A atualização incorreta das tabelas do sistema pode causar sérios problemas que talvez exijam a reinstalação do SQL Server. A Microsoft não garante que os problemas resultantes da atualização incorreta das tabelas do sistema possam ser solucionados. Atualizar as tabelas do sistema é de sua responsabilidade.
      USE master
      go
      UPDATE sysdatabases SET filename='d:\mssql7\data\tempdb.mdf' WHERE name='tempdb'
      go
      ALTER DATABASE tempdb MODIFY FILE (name = tempdev, filename = 'd:\mssql7\data\tempdb.mdf')
      ALTER DATABASE tempdb MODIFY FILE (name = templog, filename = 'd:\mssql7\data\templog.ldf')
      go
      Você deve receber as seguintes mensagens confirmando a alteração:
      Arquivo 'tempdev' modificado em sysaltfiles. Exclua o arquivo antigo após reiniciar o SQL Server.

      Arquivo 'templog' modificado em sysaltfiles. Exclua o arquivo antigo após reiniciar o SQL Server.
  2. Restaure o banco de dados model.

    No seguinte exemplo, o banco de dados model contém um arquivo de dados, Model.mdf, e um arquivo de log, Modellog.ldf, do arquivo de backup completo do banco de dados, Model_db.bak. Se você não tem um backup do banco de dados model ou se você deseja usar o que é instalado por padrão durante a instalação do SQL Server, será possível mapear novamente o banco de dados model. Esse procedimento é semelhante ao descrito para os bancos de dados northwind e pubs na etapa 4.
    1. No SQL Server Query Analyzer, execute o seguinte procedimento armazenado para desanexar o banco de dados model do SQL Server:
      exec sp_detach_db N'model'
      go
      Após a execução do procedimento armazenado, a seguinte mensagem será exibida:
      Banco de dados 'modelo' desanexado com sucesso
      Execução DBBC concluída. Se o DBBC imprimiu mensagens de erro, entre em contato com o administrador de sistema
      OBSERVAÇÃO: Você precisa desanexar o banco de dados model porque não é possível substituí-lo diretamente usando a instrução RESTORE. É preciso remover as referências da tabela do sistema para esse banco de dados do sistema antes que ele seja restaurado. Além disso, não é possível cancelar o banco de dados para fins de remoção dessas entradas de sistema.
    2. No SQL Server Query Analyzer, use a seguinte sintaxe para restaurar um backup do banco de dados model:
      RESTORE DATABASE model FROM disk='d:\mssql7\backup\model_db.bak'
      WITH MOVE 'modeldev' TO 'd:\mssql7\data\model.mdf',
           MOVE 'modellog' TO 'd:\mssql7\data\modellog.ldf',
           REPLACE
      go
      Observação A conexão com o SQL Server é quebrada após a restauração do banco de dados model.
  3. Restaure o banco de dados msdb.

    No seguinte exemplo, o banco de dados msdb contém um arquivo de dados, Msdbdata.mdf, e um arquivo do log, Msdblog.ldf, do arquivo de backup completo do banco de dados, Msdb_db.bak.
    1. Execute o seguinte comando a partir de um prompt de comando para iniciar o SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. No SQL Server Query Analyzer, execute o seguinte procedimento armazenado para desanexar o banco de dados msdb:
      exec sp_detach_db N'msdb'
      go
    3. No SQL Server Query Analyzer, use a seguinte sintaxe para restaurar um backup do banco de dados msdb:
      RESTORE DATABASE msdb FROM disk='d:\mssql7\backup\msdb_db.bak'
      WITH MOVE 'msdbdata' TO 'd:\mssql7\data\msdbdata.mdf',
           MOVE 'msdblog' TO 'd:\mssql7\data\msdblog.ldf',
           REPLACE
      go
      Observação A conexão com o SQL Server é quebrada após a restauração do banco de dados msdb.
  4. Os bancos de dados northwind e pubs:

    Após a restauração do banco de dados master, as entradas da tabela do sistema para os bancos de dados northwind e pubs são alteradas e os dois bancos de dados, como todos os outros bancos de dados de usuários, ficam no modo Suspeito. Se você deseja reutilizar os arquivos do banco de dados originais e reanexá-los ao servidor, será possível usar o seguinte exemplo. Caso contrário, se você deseja restaurar uma cópia do backup, use o exemplo do banco de dados mydb descrito na etapa 6. Use o seguinte exemplo para atualizar as referências da tabela do sistema para o banco de dados northwind. O banco de dados northwind contém um arquivo de dados, Northwind.mdf, e um arquivo do log, Northwind.ldf.
    1. Execute o seguinte comando a partir de um prompt de comando para iniciar o SQL Server:
      d:\mssql7\binn\sqlservr -c -f -T3608 -T4022
    2. No SQL Server Query Analyzer, execute o seguinte procedimento armazenado para desanexar o banco de dados northwind:
      exec sp_detach_db N'northwind'
      go

      OBSERVAÇÃO: A seguinte mensagem pode ser exibida indicando que não há acesso para os arquivos físicos:
      Servidor: Msg 947, Nível 16, Estado 1, Linha 1 Erro ao fechar o banco de dados Northwind' com clareza.
      Banco de dados 'northwind' desanexado com sucesso
      Execução DBBC concluída. Se o DBBC imprimiu mensagens de erro, entre em contato com o administrador de sistema.
    3. No SQL Server Query Analyzer, use a seguinte sintaxe armazenado para desanexar o banco de dados northwind:
      exec sp_attach_db N'northwind', N'd:\mssql7\data\northwnd.mdf', N'd:\mssql7\data\northwnd.ldf'
      go
  5. Mapeie novamente o banco de dados pubs.

    O banco de dados pubs contém um arquivo de dados, Pubs.mdf, e um arquivo do log, Pubs_log.ldf. É possível mapear novamente o banco de dados pubs da mesma forma feita com o banco de dados northwind.
  6. Restaure o banco de dados mydb.

    O banco de dados mydb contém um arquivo de dados, Mydbdata.mdf, e um arquivo do log, Mydblog.ldf, do arquivo de backup completo do banco de dados, Mydb_db.bak.
    1. No SQL Server Query Analyzer, execute o seguinte procedimento armazenado para desanexar o banco de dados mydb:
      exec sp_detach_db N'mydb'
      go
    2. No SQL Server Query Analyzer, use a seguinte sintaxe para restaurar um backup do banco de dados mydb:
      RESTORE DATABASE mydb FROM disk='d:\mssql7\backup\mydb_db.bak'
      WITH MOVE 'mydbdata' TO 'd:\mssql7\data\mydbdata.mdf',
           MOVE 'mydblog' TO 'd:\mssql7\data\mydblog.ldf',
           REPLACE
      go
  7. Renomeie o SQL Server.

    IMPORTANTE: Esse procedimento será exigido apenas se você precisar alterar o nome da instalação do SQL Server para a qual você acabou de restaurar o banco de dados master.

    Por exemplo, você pode renomear o SQL Server se:

    • Restaurou o banco de dados de um computador com o nome de SOURCESVR para um computador com o nome de TARGETSVR.
    • O computador com o nome de TARGETSVR tiver um SQL server com o nome de SOURCESVR.
    Se for preciso renomear o SQL Server, use a seguinte sintaxe para sincronizar o nome do computador a o nome do SQL Server:
    exec sp_dropserver 'SOURCESVR'
    go
    exec sp_addserver 'TARGETSVR', 'LOCAL'
    go
  8. Reinicie o serviço do SQL Server.

REFERÊNCIAS

Para obter mais informações, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (alguns artigos podem estar em inglês):
224071 Como mover os bancos de dados do SQL Server para um novo local usando as funções Desanexar e Anexar no SQL Server
314546 Como mover bancos de dados entre computadores executando o SQL Server
OBSERVAÇÃO: Para obter informações adicionais sobre outras opções de inicialização, tais como -c, -m e -f, consulte os Manuais online do SQL Server.

Propriedades

ID do artigo: 304692 - Última revisão: terça-feira, 15 de fevereiro de 2011 - Revisão: 3.2
Palavras-chave: 
kbsqlmanagementtools kbinfo KB304692

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com