DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 274463 - Última revisão: quarta-feira, 21 de dezembro de 2005 - Revisão: 6.3

 

Nesta página

Sumário

O Assistente de cópia de banco de dados é um utilitário novo no SQL Server 2000 permite que você mover ou copiar um banco de dados do SQL Server 7.0 ou do SQL Server 2000 para o SQL Server 2000. O processo de cópia ou movimentação é relativamente simples e pode parecer como o processo de quase não afeta nada. Este artigo fornece informações sobre como o Assistente de cópia de banco de dados funciona e descreve alguns problemas para procurar check-out quando você usa o assistente.

Mais Informações

Como funciona o Assistente de cópia de banco de dados

Para abrir o Assistente de cópia de banco de dados:
  • No SQL Server Enterprise Manager, clique em Gerenciamento e clique em executar um assistente .

    - ou -

  • Clique com o botão direito na pasta de bancos de dados , clique em Todas as tarefas e, em seguida, clique em Assistente... de copiar banco de dados .

    - ou -

  • Em um prompt de comando, digite cdw.exe e pressione ENTER .
O Assistente desconecta os bancos de dados a ser copiado ou movido, copia os arquivos associados ao banco de dados para o servidor de destino e, em seguida, anexa o banco de dados. A desanexação e anexação dos bancos de dados é realizada através os procedimentos armazenados a seguir:
  • sp_detach_db

    - e -

  • sp_attach_db
Para obter mais informações sobre esses procedimentos armazenados, consulte os tópicos "sp_attach_db" e "sp_detach_db" nos manuais online do SQL Server.

A cópia real do arquivo ocorre via XP_CMDSHELL que executa um comando COPY linha de comando. É por isso que é importante que a conta que executa o Assistente de cópia de banco de dados seja um memeber de sysadmin. Para obter mais informações, consulte "Usando o Assistente de cópia de banco de dados" nos manuais online do SQL Server.

O assistente executa as seguintes etapas:
  1. Cria um ponto de compartilhamento UNC no computador de origem onde os arquivos serão copiados.
  2. Verifica se há conexões ativas no banco de dados de origem.
  3. Coloca o banco de dados no modo de usuário único.
  4. Desanexa o banco de dados de origem.
  5. Verifica se os arquivos existem no destino e copia os arquivos de banco de dados para o compartilhamento aponte criado anteriormente.
  6. Anexa o banco de dados novamente no servidor de origem.
  7. Anexa o banco de dados no servidor de destino.
  8. Remove o compartilhamento UNC.
  9. Coloca o banco de dados de volta em seu modo original (único usuário, multi-usuário e assim por diante).
Existem quatro recursos adicionais que permitem que você mova os objetos estão associados com o banco de dados que está sendo copiados ou movidos.
  • Logons (recomendados).
    • Todos os logons detectados no tempo de execução do pacote.
    • Somente logons usados por bancos de dados selecionados.
  • Procedimentos armazenados compartilhados a partir do banco de dados mestre (opcional).
    • Todos os procedimentos detectados no tempo de execução do pacote.
    • Procedimentos armazenados do usuário selecionado.
  • Trabalhos do msdb (opcional).
    • Todos os trabalhos detectados no tempo de execução do pacote.
    • Trabalhos de usuário selecionado.
  • Mensagens de erro definidas pelo usuário (opcionais).
    • Todas as mensagens de erro detectadas no tempo de execução do pacote.
    • Mensagens de erro selecionadas pelo usuário.

Assistente cria um pacote do Data Transformation Services (DTS)

O Assistente de cópia de banco de dados cria um pacote DTS executado no servidor de destino e pode ser executado ou imediatamente ou pode ser agendado para execução posterior. Como alternativa, você pode criar manualmente uma cópia do banco de dados DTS pacote usando a ferramenta de DTS Designer e clicando em Tarefas de banco de dados de transferência . Para obter mais informações, consulte o tópico Tarefas de objetos de banco de dados transferência nos manuais online do SQL Server 2000.

O pacote é salvo se ela estiver agendada para ser executado em uma base recorrente ou uma vez. Portanto, o SQL Server Agent no servidor de destino deve ser iniciado. O pacote DTS do banco de dados de transferência deve ser tratado como qualquer outro pacote DTS incluindo requisitos e permissões associadas ao agendamento e executando o pacote. Para obter mais informações sobre como solucionar problemas de pacotes do DTS agendadas, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
269074  (http://support.microsoft.com/kb/269074/EN-US/ ) INF: Como executar um pacote DTS como um trabalho agendado
Você pode usar o Assistente de banco de dados de cópia com Microsoft SQL Server 7.0 onde o último pode ser um servidor de banco de dados de origem somente. Você não poderá usar o Assistente com versões do Microsoft SQL Server 6.x ou anterior.

Copiar o log do Assistente de banco de dados - log de pacote DTS

Um log de eventos CDW é armazenado no MSDBsysdtspackagelog tabela de sistema e também está visível por meio do SQL Enterprise Manager (SEM). Para exibir o log, execute essas etapas:
  1. No servidor de destino onde o pacote é armazenado, abra SEM e expanda a pasta Data Transformation Services.
  2. Em Pacotes Local , localize o pacote para o qual você deseja exibir o log. Por padrão, os pacotes são chamados CDW_SourceServer_DestinationServer_autonumber.
  3. Clique o pacote com o botão direito do mouse e selecione a opção de Logs de pacote .
  4. Em versões de pacote do DTS e árvore do log , clique no sinal de mais (+) entrar expandir e exibir a lista de logs.
Esta caixa de diálogo permite exibir log(s) para este pacote ou selecione outro pacote na caixa drop-down. Ele também permite que você excluir logs que você não precisa clicando no botão Excluir .

Como alternativa, você pode configurar o pacote DTS para produzir um arquivo de saída para troublshooting finalidade.
  1. Clique com o botão direito do mouse no pacote, selecione o Pacote de design .
  2. No menu de pacote , selecione Propriedades .
  3. Na guia log , especifique o arquivo errr.

    Este arquivo será ter informações detalhadas sobre executation do pacote.

Permissões para copiar os arquivos

O conta de inicialização do SQL Server de destino deve ser uma conta de domínio e deve ter privilégios de administrador local na fonte de SQL Server computador servidor para que os arquivos possam ser copiados da fonte para o destino.

Se o destino do SQL Server é iniciado em uma conta de sistema local, você receberá a seguinte mensagem de erro:
O serviço SQL Server está sendo executado sob a conta do sistema local. Você precisa alterar sua conta do serviço SQL Server tem os direitos para copiar arquivos pela rede.
Se o destino do SQL Server é iniciado em uma conta de domínio que não possui privilégios de administrador local no computador de origem, em seguida, a seguinte mensagem de erro pode ser gerada pelo Assistente:
Etapa origem do erro: Pacote do Microsoft Data Transformation Services (DTS)
Descrição da etapa de erro: Não especificado erro

Etapa código de erro: 80004005
Etapa Erro ajuda File:sqldts80.hlp
Etapa contexto da Ajuda erro ID:1100
Clicando no "MORE INFO >>>" botão, você encontrará permissões para criar o compartilhamento remoto não estão presentes.
Falha ao criar o compartilhamento OMWWIZD

Ser reconhecido que desconecta o banco de dados

Como mencionado anteriormente, o Assistente de cópia de banco de dados desanexa o banco de dados de origem antes de copiá-lo para o servidor de destino. Não execute o Assistente de cópia de banco de dados se o banco de dados é suspeito ou se existem outros problemas com o banco de dados que pode impedir de desanexação ou reconexão. Problemas como erros (por exemplo, erro 823) de E/s, erros de integridade de dados (por exemplo, tabela corrompido) ou quaisquer problemas conhecidos de hardware (por exemplo, erros de porta SCSI ou controlador de erros no log de eventos do sistema), ao nome um poucos, podem ser um impedimento para um reanexação bem-sucedida do banco de dados.

Certifique-se de que o banco de dados de origem não está marcado como 'somente leitura', 'off-line', 'suspeitar', 'emergência', 'carregar' ou a separação falhará. A separação falhará porque o procedimento de separação deve atualizar as estatísticas no banco de dados; se o banco de dados é de alguma forma inacessível para gravações, a atualização de estatísticas falhará. A seguinte mensagem de erro é gerada se a separação falhar devido ao banco de dados em qualquer status unwritable:
Falha ao desanexar o banco de dados <databasename>
O botão Exibir erro mostra o seguinte:
Origem do erro de etapa: pacote do Microsoft Data Transformation Services (DTS)
Descrição da etapa de erro: Não especificado erro

Etapa código de erro: 80004005
Etapa Erro ajuda File:sqldts80.hlp
Etapa contexto da Ajuda erro ID:1100
Além disso, desanexar o banco de dados requer que ele estar no modo de usuário único ou ter nenhum usuário conectado a ele. Se vários usuários estão usando o banco de dados, o assistente pode falhar com o seguinte erro:
Origem do erro de etapa: pacote do Microsoft Data Transformation Services (DTS)
Descrição da etapa de erro: Não especificado erro

Etapa código de erro: 80004005
Etapa Erro ajuda File:sqldts80.hlp
Etapa contexto da Ajuda erro ID:1100
Se você clicar no botão Mais informações , você poderá ver o seguinte raiz causa do problema:
Banco de dados [dbname] tem conexões ativas [N]. Banco de dados não será transferido.

Permissões para desanexar um banco de dados

Determinadas permissões são necessárias para desanexar um banco de dados. Manuais online do SQL Server 2000 identifica as permissões apropriadas para usar o Assistente:
"Para usar o Assistente de banco de dados de cópia, você deve ser um administrador de sistema ou um membro da função sysadmin. Se você estiver executando o Microsoft Windows NT ® 4.0 ou Microsoft Windows ® 2000, sua conta de usuário deve ter privilégios de administrador no servidor de destino."

Verifique o diretório de destino existe

Quando você usar o Assistente de banco de dados copiar (CDW), na tela do Local do arquivo de banco de dados , clique no botão Modificar e confirme se o diretório de destino está correto. Se o diretório não existir, o CDW pode falhar com o seguinte erro:
Origem do erro etapa: Microsoft Data Transformation Services (DTS) pacote
Etapa descrição do erro: não especificado erro

Etapa código de erro: 80004005
Etapa erro ajuda File:sqldts80.hlp
Etapa Contexto da Ajuda erro ID:1100
Se você clicar na "MORE INFO >>>" botão, você encontrará o diretório não está presente.
Arquivo \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft Server\MSSQL\Data\Filename_Data.mdf SQL não pode ser copiado porque o diretório de destino não existe.

A opção de mover remove o banco de dados

Tenha em mente que, se você optar por mover um banco de dados, em vez de copiá-lo, o banco de dados será removido do servidor de origem do SQL Server. Mais especificamente, o banco de dados é desanexado do servidor de origem, mas não reanexado. No entanto, os arquivos de banco de dados original (.mdf, .ndf, .ldf) permanecem no servidor de origem e se você não precisa dos devido considerações de espaço, você precisa excluí-los manualmente. A seguinte mensagem de aviso aparece na caixa de diálogo Concluindo o Assistente de banco de dados de cópia :
Banco de dados 'Pubs' serão copiados mas estarão disponíveis somente no servidor de destino. O administrador deve excluir os arquivos de dados e de log para banco de dados 'Pubs' no servidor de origem.
No entanto, se você selecionar a opção MOVE em vez da opção COPY por engano, você pode reanexar com segurança os arquivos de volta para o servidor para recuperar o banco de dados.

Movendo logons

Um novo recurso do Assistente de cópia de banco de dados ameniza o problema de mover manualmente os logons. O Assistente identifica os logins correspondente os usuários do banco de dados e fornece a você a opção para mover ou copiar como parte de mover ou copiar o banco de dados. Logons de autenticação SQL Server Standard e logons de autenticação do Microsoft Windows NT e Microsoft Windows 2000 são movidos pelo assistente.

Versões anteriores do SQL Server necessária intervenção manual para mover os logins associados com os usuários do banco de dados do banco de dados que estão sendo copiados ou movidos. Para obter mais informações sobre como transferir logons com versões anteriores do SQL Server, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
168001  (http://support.microsoft.com/kb/168001/EN-US/ ) PROBLEMA: E o logon de usuário ou erros de permissão após restaurar despejo
246133  (http://support.microsoft.com/kb/246133/ ) COMO: Transferir logins e senhas entre instâncias do SQL Server
Observe que grupos locais do Windows NT/2000 e usuários recebem acesso de logon para o SQL Server não podem ser transferidos entre computadores diferentes. Se você tentar fazer isso, a transferência do logon falhará. Se você clicar na "MORE INFO >>>" botão, você pode ver o seguinte raiz causa do problema:
"Falha de transferência logon SourceMachine\LocalGroup1"
- ou -
"Transferência logon SourceMachine\LocalUser1 Falha"

Arquivos do banco de dados/existe ou não há espaço em disco insuficiente

Ao transferir um banco de dados, o assistente detecta se o banco de dados existe no servidor de destino ou não. Caixa de diálogo Selecionar o banco de dados para mover ou copiar indica que os bancos de dados podem ser transferidos com um status OK ou bancos de dados não podem ser transferido ou porque o banco de dados Já existe ou é um Banco de dados do sistema como o banco de dados mestre .

Uma transferência de banco de dados também pode ser interrompida se os mesmos arquivos de banco de dados ainda existirem no servidor de destino. Portanto, você pode ter um banco de dados MyPubs nomeados com nomes de arquivo equivalentes aos Pubs do banco de dados no destino. Você verá os arquivos marcados com um X vermelho destinos.
"Arquivos na fonte de tiverem o mesmo nome como o destino ou não há espaço livre em disco suficiente no destino."
Para evitar essa mensagem de erro, ou modificar os nomes de arquivo a ser criado no servidor de destino ou alterar o local físico no qual os serão criados.

Uma transferência também pode ser impediam por falta de espaço em disco no servidor de destino. Alterar unidades ou exclua alguns arquivos para permitir espaço suficiente.

Pára de pesquisa de texto completo. Arquivos de catálogo de texto completo não sejam transferidos

Se o banco de dados contiver qualquer catálogos de texto completo há dois efeitos de usar o Assistente de cópia de banco de dados para transferi-lo. Primeiro, pesquisar os catálogos de texto completo (FT) é interrompido pelo Assistente para que o banco de dados pode ser colocado em modo de usuário único. Em segundo lugar, os arquivos de catálogo FT não são movidos pelo assistente. Se você tentar executar uma consulta de pesquisa de texto completo no SQL server origem ou destino após executar o Assistente de cópia de banco de dados, você pode receber a seguinte mensagem de erro:
Servidor: Mensagem 7616, nível 16, estado 1, linha 1
Pesquisa de texto completo não está habilitada para o banco de dados atual. Use sp_fulltext_database para ativar pesquisa de texto completo para o banco de dados.
Para obter mais informações, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
303224  (http://support.microsoft.com/kb/303224/EN-US/ ) CORRECÇÃO: Uso o Assistente de cópia de banco de dados para copiar um banco de dados desativa Full-Text Indexing no banco de dados de origem
Para efetuar pesquisas de texto completo em origem e destino do SQL Server servidores usar estas etapas:
  1. Execute o procedimento armazenado seguinte para ativar indexação nos bancos de dados origem e/ou destino de texto completo:
    sp_fulltext_database 'enable'
    					
  2. Execute um preenchimento completo em todos os catálogos.
Aqui está a seção relevante de manuais online do SQL Server:
"Se você desejar copiar um banco de dados com catálogos de texto completo, catálogos de texto completo para o banco de dados não estão no servidor de origem após a operação de cópia conclusão disponíveis. Manualmente você deve preencher novamente catálogos de texto completo no servidor de destino.

Se você deseja mover um banco de dados com catálogos de texto completo, nenhum dos arquivos associados catálogo de texto completo serão movidas quando o banco de dados é movido. Esses arquivos devem ser movidos manualmente pelo administrador do banco de dados."
Para obter mais informações sobre como mover catálogos de texto completo, consulte o seguinte artigo na Base de dados de Conhecimento da Microsoft:
240867  (http://support.microsoft.com/kb/240867/EN-US/ ) INF: Como mover, copiar e catálogo back Up Full-Text pastas e arquivos

Referências

Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
327270  (http://support.microsoft.com/kb/327270/EN-US/ ) SQL Server 2000 não é suportado no Windows Server 2003 Terminal Server Application Server

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbinfo KB274463 KbMtpt
Tradução automáticaTraduçã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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 274463  (http://support.microsoft.com/kb/274463/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store