Noções sobre e resolução de problemas com o Assistente de cópia de base de dados no SQL Server 2000

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

Nesta página

Sumário

O Assistente para copiar banco de dados é um utilitário novo no SQL Server 2000 que lhe permite mover ou copiar uma base 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 que o processo de praticamente não afecta nada. Este artigo fornece informações sobre como o Assistente para copiar banco de dados funciona e descreve alguns problemas para ver quando utiliza o assistente.

Mais Informação

Como funciona o Assistente para copiar banco de dados

Para abrir o Assistente para copiar banco de dados:
  • No SQL Server Enterprise Manager, clique em Gestão e, em seguida, clique em executar um assistente .

    - ou -

  • Clique com o botão direito do rato na pasta de base de dados , clique em Todas as tarefas e, em seguida, clique em Copiar Assistente de bases de dados... .

    - ou -

  • Numa linha de comandos, escreva Cdw.exe e prima ENTER .
O assistente remove bases de dados que devem ser copiados ou movidos, copia os ficheiros associados a base de dados do servidor de destino e, em seguida, anexa a base de dados. A desligar e ligar as bases de dados é efectuada através de procedimentos armazenados:
  • sp_detach_db

    - e -

  • sp_attach_db
Para obter mais informações sobre estes procedimentos armazenados, consulte os tópicos "sp_attach_db" e "sp_detach_db" no SQL Server Books Online.

A cópia actual do ficheiro ocorre através de XP_CMDSHELL que executa um comando COPY da linha de comandos. É por isso é importante que a conta que executa o Assistente para copiar banco de dados seja um memeber de sysadmin. Para mais informações, consulte "Utilizar a cópia da base de dados Assistente" no SQL Server Books Online.

O assistente efectua os seguintes passos:
  1. Cria um ponto de partilha UNC no computador de origem onde estão os ficheiros sejam copiados.
  2. Verifica a ligações activas na base de dados de origem.
  3. Coloca a base de dados em modo de utilizador único.
  4. Remove a base de dados de origem.
  5. Verifica se os ficheiros existirem no destino e, em seguida, copia os ficheiros da base de dados para a partilha aponte criado anteriormente.
  6. Anexa a base de dados novamente no servidor de origem.
  7. Anexa a base de dados do servidor de destino.
  8. Remove a partilha UNC.
  9. Coloca a base de dados novamente no modo original (utilizador único, utilizadores múltiplos e assim sucessivamente).
Existem quatro funcionalidades adicionais que permitem-lhe mover objectos associados à base de dados que está a ser copiados ou movidos.
  • Inícios de sessão (recomendados).
    • Todos os logins detectados no pacote run-time.
    • Apenas inícios utilizados pelo bases de dados seleccionadas.
  • Partilhar procedimentos armazenados da base de dados principal (opcional).
    • Procedimentos armazenados todos os detectado no pacote run-time.
    • Procedimentos armazenados seleccionadas pelo utilizador.
  • Trabalhos da msdb (opcional).
    • Todas as tarefas detectadas no pacote run-time.
    • Tarefas seleccionadas pelo utilizador.
  • Mensagens de erro definido pelo utilizador (opcionais).
    • Todas as mensagens de erro detectadas no pacote run-time.
    • Mensagens de erro seleccionadas pelo utilizador.

Assistente cria um pacote do Data Transformation Services (DTS)

O Assistente para copiar banco de dados cria um pacote DTS que é executado no servidor de destino e pode ser executado uma imediatamente ou pode ser agendado para ser executado mais tarde. Em alternativa, pode criar manualmente uma cópia da base de dados DTS pacote utilizando a ferramenta de DTS Designer e clicando Transferência tarefas de base de dados . Para mais informações, consulte o tópico Transferência tarefas de objectos de base de dados no SQL Server 2000 Books Online.

O pacote é guardado se estiver agendada para executar numa base periódica ou uma vez. Por conseguinte, o SQL Server Agent no servidor de destino tem de ser iniciado. O pacote de transferência DTS de base de dados deve ser tratado como qualquer outro pacote DTS incluindo requisitos e permissões associadas a agendar e executar o pacote. Para obter mais informações sobre como resolver problemas de agendadas pacotes DTS, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
269074INF: Como executar um pacote DTS como uma tarefa agendada
Pode utilizar o assistente copiar base de dados com o Microsoft SQL Server 7.0 em que o último pode ser as apenas um servidor de base de dados de origem. Não é possível utilizar o assistente com versões do Microsoft SQL Server 6.x ou anterior.

Copiar da base de dados Assistente de registo - registo de pacotes DTS

Um registo dos eventos CDW armazenado no MSDBsysdtspackagelog tabela de sistema e também é visualizável através de SQL Enterprise Manager (SEM). Para visualizar o registo, siga estes passos:
  1. No servidor de destino onde o pacote está armazenado, abrir SEM e expanda a pasta de serviços de transformação de dados.
  2. Em Pacotes de local , localize o pacote para o qual pretende visualizar o registo. Por predefinição, os pacotes denominam CDW_SourceServer_DestinationServer_autonumber.
  3. Clique com o botão direito do rato no pacote e seleccione a opção de Registos de pacote .
  4. Em versões de pacote DTS e árvore de registo , clique no sinal de adição (+) expandir e visualizar a lista de registos de sessão.
Esta caixa de diálogo permite-lhe visualizar log(s) para este pacote ou seleccione outro pacote na caixa pendente. Também permite eliminar registos que não é necessário, clicando no botão Eliminar .

Em alternativa, pode configurar pacotes DTS para produzir um ficheiro de saída para troublshooting objectivo.
  1. Clique com o botão direito do rato no pacote, seleccione o Pacote de estrutura .
  2. No menu de pacote , seleccione Propriedades .
  3. No separador registo , especifique o ficheiro errr.

    Este ficheiro vai ter detalhado informações sobre o executation do pacote.

Permissões para copiar os ficheiros

O destino da conta de arranque do SQL Server tem de estar uma conta de domínio e tem de ter privilégios de administrador local na origem do SQL Server computador servidor para que os ficheiros podem ser copiados a partir da origem para o destino.

Se o destino do SQL Server é iniciado com uma conta sistema local poderá receber a seguinte mensagem de erro:
O serviço de servidor SQL está em execução sob a conta sistema local. Tem de alterar a conta serviço de servidor de SQL com direitos para copiar ficheiros através da rede.
Se o destino do SQL Server é iniciado numa conta de domínio que não tem privilégios de administrador local no computador de origem, em seguida, a seguinte mensagem de erro pode ser gerada pelo assistente:
Origem do erro passo: Pacote de Microsoft Data Transformation Services (DTS)
Descrição do passo erro: Erro não especificado

Passo o código de erro: 80004005
Passo Erro ajuda File:sqldts80.hlp
Passo contexto de ajuda erro ID:1100
Clicar na "MORE INFO >>>" botão, poderá encontrar permissões para criar a partilha remota não estão presentes.
Falha ao criar a partilha OMWWIZD

Ser utiliza o que remove a base de dados

Como mencionado anteriormente, o Assistente para copiar banco de dados remove base de dados de origem antes de copiar para o servidor de destino. Não execute o Assistente para copiar banco de dados se a base de dados é suspeita ou se existem quaisquer outros problemas com a base de dados pode impedi-lo a partir de desligar ou reattaching. Problemas como erros (por exemplo, erro 823) de E/s, erros de integridade de dados (por exemplo, danificado tabela) ou quaisquer problemas conhecidos de hardware (por exemplo, erros da porta SCSI ou controlador de erros no registo de eventos do sistema), nome por poucas, poderão ser um impediment para um reattachment com êxito da base de dados.

Certifique-se de que a base de dados de origem não está marcado como 'só de leitura', 'offline', 'suspeitar', 'emergência', 'carregar' ou o detach falhará. O detach vai falhar porque o procedimento detach tem de actualizar as estatísticas da base de dados; se a base de dados é de alguma forma não está acessível para operações de escrita, a actualização de estatísticas de falha. A seguinte mensagem de erro é gerada se o detach falhar devido à base de dados estar em qualquer estado unwritable:
Falha ao desligar a base de dados <databasename>
O botão Ver erro mostra o seguinte:
Origem do erro do passo: Microsoft Data Transformation Services (DTS) pacote
Descrição do passo erro: Erro não especificado

Passo o código de erro: 80004005
Passo Erro ajuda File:sqldts80.hlp
Passo contexto de ajuda erro ID:1100
Além disso, desligar a base de dados requer que este estar no modo de utilizador único ou ter nenhum utilizador ligado. Se vários utilizadores estiverem a utilizar a base de dados, o assistente poderá falhar com o seguinte erro:
Origem do erro do passo: Microsoft Data Transformation Services (DTS) pacote
Descrição do passo erro: Erro não especificado

Passo o código de erro: 80004005
Passo Erro ajuda File:sqldts80.hlp
Passo contexto de ajuda erro ID:1100
Se clicar no botão Mais informações , pode ver o seguinte raiz causa do problema:
Base de dados [dbname] tem ligações activas [N]. Base de dados não será transferido.

Permissões para desligar uma base de dados

São necessárias determinadas permissões para desanexar uma base de dados. SQL Server 2000 Books Online identifica as permissões adequadas para utilizar o assistente:
"Para utilizar o Assistente de base de dados de copiar, tem de ser um administrador de sistema ou um membro da função sysadmin. Se estiver a executar o Microsoft Windows NT ® 4.0 ou Microsoft Windows ® 2000, a conta de utilizador deve ter privilégios de administrador no servidor de destino. "

Certifique-se existe o directório de destino

Quando utilizar a cópia da base de dados Assistente (CDW) no ecrã Localização do ficheiro da base de dados , clique no botão Modificar e confirme se o directório de destino está correcto. Se o directório não existir, o CDW poderá falhar com o seguinte erro:
Origem do erro passo: Microsoft Data Transformation Services (DTS) pacote
Passo descrição de erro: erro não especificado

Passo o código de erro: 80004005
Passo erro ajuda File:sqldts80.hlp
Passo Contexto de ajuda erro ID:1100
Se clicar o "mais INFO >>>" botão, descobrirá que o directório não está presente.
Não é possível copiar ficheiro \\SOURCE_SERVER\OMWWIZx\Program Files\Microsoft Server\MSSQL\Data\Filename_Data.mdf SQL porque o directório de destino não existe.

A opção mover remove a base de dados

Ter em atenção que, se escolher mover uma base de dados, em vez de copiá-lo, a base de dados é removido do servidor de origem do SQL Server. Mais especificamente, a base de dados é desligado do servidor de origem mas não é reattached. No entanto, os ficheiros de base de dados original (.mdf, .ndf e .ldf) permanecem no servidor de origem e se não necessitar dos devido considerações de espaço, terá de eliminá-los manualmente. É apresentada a seguinte mensagem de aviso na caixa de diálogo a concluir o Assistente de base de dados copiar :
Base de dados 'pubs' serão copiadas mas estarão disponíveis apenas no servidor de destino. O administrador deve eliminar os ficheiros dados e de registo para base de dados 'Pubs' no servidor de origem.
No entanto, se seleccionar a opção MOVE em vez da opção COPY por engano, com segurança anexá esses ficheiros para o servidor para recuperar a base de dados.

Mover inícios de sessão

Uma nova funcionalidade do Assistente para copiar banco de dados atenua a questão da movimentação manual de inícios de sessão. O assistente identifica os inícios de sessão correspondentes aos utilizadores da base de dados e fornece-lhe a opção para mover ou copiar as como parte de mover ou copiar a base de dados. Os inícios de sessão autenticação SQL Server Standard e logins 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 inícios de sessão associados com os utilizadores da base de dados da base de dados que está a ser copiados ou movidos. Para mais informações sobre como transferir inícios de sessão com versões anteriores do SQL Server, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
168001PROBLEMA: E início de sessão do utilizador ou erros de permissão depois de restaurar informação
246133COMO: Transferir inícios de sessão e palavras-passe entre instâncias do SQL Server
Tenha em atenção que os grupos locais do Windows NT/2000 e os utilizadores que são concedidos acesso de início de sessão para o SQL Server não podem ser transferidos entre computadores diferentes. Se tentar fazê-lo, a transferência do início de sessão falhará. Se clicar o "mais INFO >>>" botão, pode ver o seguinte raiz causa do problema:
"Falha de transferência SourceMachine\LocalGroup1 de início de sessão"
- ou -
Transferência "SourceMachine\LocalUser1 de início de sessão não foi possível"

Existem ficheiros/base de dados ou não existe espaço em disco insuficiente

Quando transferir uma base de dados, o assistente detecta se ou não existe na base de dados no servidor de destino. A caixa de diálogo Seleccionar base de dados para mover ou copiar indica que as bases de dados podem ser transferidos com um estado OK ou que as bases de dados não não possível transferir um porque a base de dados Já existe ou é uma Base de dados do sistema como a base de dados principal .

Também pode ser parada uma transferência da base de dados se já existirem os mesmos ficheiros de base de dados no servidor de destino. Assim, poderá ter uma base de dados MyPubs nomeados com nomes de ficheiro equivalentes aos pubs base de dados no destino. Verá os ficheiros destinos marcados com um X vermelho.
"Ficheiros na origem que tenham o mesmo nome como no destino ou não existe espaço livre suficiente no destino".
Para evitar esta mensagem de erro, ou modificar os nomes de ficheiro para ser criada no servidor de destino ou alterar a localização física na qual os serão criados.

Também pode ser hampered uma transferência por falta de espaço em disco no servidor de destino. Alterar unidades ou elimine alguns ficheiros para permitir espaço suficiente.

Deixa de procura de texto completo. Ficheiros de catálogo texto completo não transferidos

Se a base de dados contiver qualquer catálogos de texto completo existem dois efeitos de utilizar o Assistente para copiar banco de dados transferi-los. Em primeiro lugar, procurar os catálogos de texto completo (FT) está parado pelo Assistente para que a base de dados pode ser colocado no modo de utilizador único. Em segundo lugar, os ficheiros de catálogo FT não são movidos pelo assistente. Se tentar executar uma consulta de procura de texto completo no servidor SQL de origem ou destino depois de executar o Assistente para copiar banco de dados, poderá obter a seguinte mensagem de erro:
Servidor: Erro 7616, nível de 16, estado 1, linha 1
Procura em texto completo não está activada para a base de dados actual. Utilize sp_fulltext_database para activar a procura em texto completo para a base de dados.
Para mais informações, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
303224CORRECÇÃO: Utilização do Assistente de base de dados de copiar para copiar uma base de dados desactiva a indexação de texto completo na base de dados de origem
Para efectuar procuras de texto completo na origem e destino do SQL Server servidores utilize estes passos:
  1. Executar o procedimento armazenado seguinte para activar a indexação bases de dados origem e/ou destino de texto completo:
    sp_fulltext_database 'enable'
    					
  2. Efectue uma população total em todos os catálogos.
Segue-se a secção relevante do SQL Server Books Online:
"Se pretender copiar uma base de dados com catálogos de texto completo, catálogos de texto completo para a base de dados estão indisponíveis no servidor de origem depois de concluída a operação de cópia. Catálogos de texto completo no servidor de destino manualmente deve preencher novamente.

Se pretender mover uma base de dados com catálogos de texto completo, nenhum dos ficheiros de catálogo de texto completo associados são movidos quando a base de dados é movido. Estes ficheiros têm de ser movidos manualmente pelo administrador da base de dados."
Para obter mais informações sobre como mover o texto completo catálogos, consulte o seguinte artigo na base de dados de conhecimento da Microsoft:
240867INF: Como mover, copiar e ' Anterior ' para Full-Text catálogo pastas e ficheiros

Referências

Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
327270SQL Server 2000 não é suportado no Windows Server 2003 Terminal Server Application Server

Propriedades

Artigo: 274463 - Última revisão: 21 de dezembro de 2005 - Revisão: 6.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbinfo KB274463 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: 274463

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