Como usar as funções desanexar e anexar mover bancos de dados SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 224071 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve como alterar o local dos arquivos de dados e os arquivos de log para qualquer banco de dados Microsoft SQL Server 2005, SQL Server 2000 ou 7.0 do SQL Server.

Para obter mais informações sobre como mover bancos de dados do sistema em SQL Server 2008, consulte o tópico "Movendo System Databases" nos Manuais Online do SQL Server. Para exibir esse tópico, vá para o Mover bancos de dados do sistema Site da Microsoft Developer Network (MSDN).

Mais Informação

As etapas que você deve seguir para alterar a localização de alguns bancos de dados do sistema de SQL Server diferem das etapas que devem ser seguidas para alterar o local para bancos de dados do usuário. Esses casos especiais são descritos separadamente.

Observação SQL Server 7.0 bancos de dados do sistema são incompatíveis com SQL Server 2000. Não anexe bancos de dados mestre, modelo, msdb ou distribuição SQL Server 7.0 SQL Server 2000. Se você estiver usando SQL Server 2005, você pode anexar somente bancos de dados do SQL Server 2005 para um instância. Todos os exemplos neste artigo presumem que o SQL Server está instalado na pasta D:\Mssql7. Além disso, os exemplos pressupõem que todos os arquivos de dados e arquivos de log estão localizados na pasta D:\Mssql7\Data padrão. Os exemplos mover os arquivos de dados e arquivos de log para todos os bancos de dados para o e:\Sqldata. pasta.

Locais de dados padrão para o SQL Server 2005 e SQL Server 2000 são:

Pré-requisitos

  • Fazer backup de todos os bancos de dados, banco especialmente de dados mestre , de seu local atual.
  • Certifique-se de que você tenha permissões de administrador (sa) do sistema.
  • Certifique-se de saber o nome e o local atual de todos os arquivos de dados e arquivos de log para o banco de dados.

    Observação Você pode determinar o nome e o local atual de todos os arquivos que usa um banco de dados usando o sp_helpfile procedimento armazenado:
    use <database_name>
    go
    sp_helpfile
    go
  • Você deve ter acesso exclusivo ao banco de dados que você estão mudando. Se você tiver problemas durante o processo e não é possível acessar um banco de dados que você moveu ou se você não pode iniciar o SQL Server, Examine o log de erros de SQL Server e SQL Server Books Online para obter mais informações informações sobre os erros que você está enfrentando.

Movendo bancos de dados do usuário

O exemplo a seguir move um banco de dados chamado mydb. Este banco de dados contém um ficheiro de dados, Mydb e um log arquivo, Mydblog. Se o banco de dados que você está movendo tem mais arquivos de dados ou arquivos de log, especifique os arquivos em uma lista delimitada por vírgulas no procedimento sp_attach_db armazenado. O procedimento sp_detach_db não muda independentemente de quantos arquivos o banco de dados contém porque o procedimento sp_detach_db não lista os arquivos.
  1. Inicie o SQL Server 2005 Management Studio. Para fazer isso, clique em Iniciar, clique em Todos os programas, clique em Microsoft SQL Server 2005e clique em SQL Server Management Studio.
  2. Clique em Nova consultae desanexar o banco de dados da seguinte maneira:
    use master
       go
       sp_detach_db 'mydb'
       go
  3. Copie os arquivos de dados e arquivos de log do local atual (D:\Mssql7\Data) para o novo local (E:\Sqldata).
  4. Reconecte o banco de dados. Aponte para os arquivos no novo local da seguinte maneira:
    use master
      go
      sp_attach_db 'mydb','E:\Sqldata\mydbdata.mdf','E:\Sqldata\mydblog.ldf'
      go
    Verifique se a alteração de locais de arquivos usando o procedimento sp_helpfile armazenados:
    use mydb
       go
       sp_helpfile
       go
    Os valores da coluna nome do arquivo devem refletir os novos locais.
Observação Artigo da Base de dados de Conhecimento Microsoft 922804 descreve um problema para bancos de dados do SQL Server 2005 em um armazenamento conectado à rede. Para obter mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de dados de Conhecimento da Microsoft:
922804CORREÇÃO: Depois de desanexar um banco de dados de Microsoft SQL Server 2005 reside no armazenamento conectado à rede, você não pode reanexar o banco de dados SQL Server
Considere esse problema. Além disso, considere a permissões são aplicadas a um banco de dados quando é separada em SQL Server 2005. Para obter mais informações, consulte o "desanexando e anexando um banco de dados" seção do tópico "Proteção de dados e arquivos de Log" nos Manuais Online do SQL Server. Para exibir esse tópico, vá para o Protegendo dados e arquivos de Log Site do MSDN.

Movendo bancos de dados de exemplo

Para mover que os pubs de exemplo do banco de dados e banco de dados de exemplo Northwind no SQL Server 2000 ou 7.0 do SQL Server ou mover o banco de dados de exemplo AdventureWorks e o banco de dados de exemplo AdventureWorksDW no SQL Server 2005, siga o mesmo procedimento para mover bancos de dados do usuário.

Movendo o banco de dados do modelo

SQL Server 2005 e SQL Server 2000

SQL Server 7.0

Movendo o banco de dados MSDB

SQL Server 2005 e SQL Server 2000

SQL Server 7.0

Movendo o banco de dados mestre

SQL Server 2005

SQL Server 2000 e SQL Server 7.0

Movendo o banco de dados tempdb

Você pode mover os arquivos tempdb usando a instrução ALTER DATABASE.
  1. Determine os nomes de arquivo lógico do banco de dados tempdb utilizando sp_helpfile da seguinte maneira:
    use tempdb
    go
    sp_helpfile
    go
    O nome lógico para cada arquivo está contido na coluna nome . Este exemplo usa nomes de arquivo padrão de tempdev e templog.
  2. Use a instrução ALTER DATABASE, especificando a lógica nome do arquivo da seguinte maneira:
    use master
    go
    Alter database tempdb modify file (name = tempdev, filename = 'E:\Sqldata\tempdb.mdf')
    go
    Alter database tempdb modify file (name = templog, filename = 'E:\Sqldata\templog.ldf')
    go
    Você deverá receber as seguintes mensagens de confirmar a alteração:
    Mensagem 1
    Arquivo 'tempdev' modificado em sysaltfiles. Exclua o arquivo antigo após reiniciar o SQL Server.
    Mensagem 2
    Arquivo 'templog' modificado em sysaltfiles. Exclua o arquivo antigo após reiniciar o SQL Server.
  3. Utilizando sp_helpfile em tempdb não confirmará essas alterações até que você reinicie o SQL Servidor.
  4. Pare e reinicie o SQL Server.

Referências

Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
912397Não é possível iniciar o serviço de SQL Server quando você alterar um parâmetro de inicialização para uma instância de SQL Server 2000 ou do SQL Server 2005 para um valor não é válido
274188 O tópico "Solucionando problemas de usuários órfãos" nos Manuais Online está incompleto
246133 Como transferir logins e senhas entre instâncias do SQL Server
168001 Logons de usuário e permissões em um banco de dados podem estar incorretas após restauração do banco de dados

Para obter mais informações, consulte os seguintes livros:
Microsoft Corporation
Kit de administração do sistema de treinamento Microsoft SQL Server 7.0
Microsoft Press, 2001
Microsoft Corporation
MCSE Training Kit: Microsoft SQL Server 2000 System Administration
Microsoft Press, 2001
Microsoft Corporation
Microsoft SQL Server 2000 Resource Kit
Microsoft Press, 2001

Propriedades

Artigo: 224071 - Última revisão: 16 de julho de 2013 - Revisão: 1.1
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbsqlsetup kbinfo kbmt KB224071 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 224071

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