Compartilhar via


Usar o Assistente para Copiar Banco de Dados

O Assistente para Copiar Banco de Dados permite mover ou copiar bancos de dados e seus objetos facilmente de um servidor para outro, sem tempo de inatividade do servidor. Você também pode atualizar bancos de dados de uma versão anterior do SQL Server para o SQL Server 2014. Usando este assistente, você pode fazer o seguinte:

  • Escolha um servidor de origem e de destino.

  • Selecione bancos de dados para mover, copiar ou atualizar.

  • Especifique o local do arquivo para os bancos de dados.

  • Crie logons no servidor de destino.

  • Copie objetos de suporte adicionais, trabalhos, procedimentos armazenados definidos pelo usuário e mensagens de erro.

  • Agende quando mover ou copiar os bancos de dados.

Além de copiar bancos de dados, você pode copiar metadados associados, por exemplo, logons e objetos do banco de dados mestre exigidos por um banco de dados copiado.

Nesse Tópico

Antes de começar

Limitações e restrições

  • O Assistente para Copiar Banco de Dados não está disponível na edição Express.

  • O Assistente para Copiar Banco de Dados não pode ser usado para copiar ou mover os bancos de dados a seguir.

    • Bancos de dados do sistema

    • Bancos de dados marcados para replicação.

    • Bancos de dados marcados como Inacessível, Carregando, Offline, Recuperando, Suspeito ou no Modo de Emergência.

  • Depois que um banco de dados for atualizado, ele não poderá ser rebaixado para uma versão anterior.

  • Se você selecionar a opção Mover , o assistente excluirá o banco de dados de origem automaticamente depois de mover o banco de dados. O Assistente para Copiar Banco de Dados não excluirá um banco de dados de origem se você selecionar a opção Copiar .

  • Se você usar o método objeto de gerenciamento do SQL Server para mover o catálogo de texto completo, deverá repovoar o índice após a movimentação.

  • O método de desanexar e anexar desanexa o banco de dados, move ou copia os arquivos de banco de dados .mdf, .ndf, .ldf e reanexa o banco de dados no novo local. Para o método de desanexar e anexar, para evitar perda ou inconsistência de dados, as sessões ativas não podem ser anexadas ao banco de dados que está sendo movido ou copiado. Se houver sessões ativas, o Assistente de Copiar Banco de Dados não executará a operação de transferência ou cópia. Para o método objeto de gerenciamento do SQL Server, as sessões ativas são permitidas porque o banco de dados nunca é colocado offline.

Pré-requisitos

Verifique se o SQL Server Agent foi iniciado no servidor de destino.

Recomendações

  • Para garantir o desempenho ideal de um banco de dados atualizado, execute sp_updatestats (atualizar estatísticas) no banco de dados atualizado.

  • Ao copiar um banco de dados para outra instância de servidor, para fornecer uma experiência consistente aos usuários e aplicativos, talvez seja necessário recriar alguns ou todos os metadados do banco de dados, como logons e trabalhos, na outra instância do servidor. Para obter mais informações, confira Gerenciar metadados ao disponibilizar um banco de dados em outra instância do servidor (SQL Server).

Segurança

Permissões

Você deve ser um membro da função de servidor fixa sysadmin nos servidores de origem e de destino.

Copiar, mover ou atualizar bancos de dados

  1. No SQL Server Management Studio, no Pesquisador de Objetos, expanda Bancos de Dados, clique com o botão direito do mouse em um banco de dados, aponte para Tarefas e clique em Copiar Banco de Dados.

  2. Na página Selecionar um Servidor de Origem , especifique o servidor com o banco de dados para mover ou copiar e inserir informações de logon. Depois de selecionar o método de autenticação e inserir informações de logon, clique em Avançar para estabelecer a conexão com o servidor de origem. Essa conexão permanece aberta durante toda a sessão.

    Servidor de origem
    Selecione o nome do servidor no qual o banco de dados ou os bancos de dados que você deseja mover ou copiar estão localizados ou clique no botão procurar (...) para localizar o servidor desejado. O servidor deve ter pelo menos o SQL Server 2005.

    Use a autenticação do Windows
    Permitir que um usuário se conecte por meio de uma conta de usuário do Microsoft Windows.

    Usar Autenticação do SQL Server
    Permitir que um usuário se conecte fornecendo um nome de usuário e senha da Autenticação do SQL Server.

    Nome de usuário
    Insira o nome de usuário com o qual se conectar. Essa opção só estará disponível se você tiver selecionado se conectar usando a Autenticação do SQL Server.

    Senha
    Insira a senha para o logon. Essa opção só estará disponível se você tiver selecionado se conectar usando a Autenticação do SQL Server.

    Próximo
    Conecte-se ao servidor e valide o usuário. Esse processo verifica se o usuário é membro da função de servidor fixa sysadmin no computador selecionado.

  3. Na página Selecionar um Servidor de Destino , especifique o servidor para onde o banco de dados será movido ou copiado. Se você definir os servidores de origem e de destino para a mesma instância de servidor, você fará uma cópia de um banco de dados. Nesse caso, você deve renomear o banco de dados em um ponto posterior no assistente. O nome do banco de dados de origem só poderá ser usado para o banco de dados copiado ou movido se conflitos de nome não existirem no servidor de destino. Se houver conflitos de nome, você deverá resolvê-los manualmente no servidor de destino antes de poder usar o nome do banco de dados de origem.

    Servidor de destino
    Selecione o nome do servidor para o qual o banco de dados ou os bancos de dados serão movidos ou copiados ou clique no botão procurar (...) para localizar um servidor de destino.

    Observação

    Você pode usar um destino que seja um servidor clusterizado; o Assistente para Copiar Banco de Dados garantirá que você selecione apenas unidades compartilhadas em um servidor de destino clusterizado.

    Use a autenticação do Windows
    Permitir que um usuário se conecte por meio de uma conta de usuário do Microsoft Windows.

    Usar Autenticação do SQL Server
    Permitir que um usuário se conecte fornecendo um nome de usuário e senha da Autenticação do SQL Server.

    Nome de usuário
    Insira o nome de usuário com o qual se conectar. Essa opção só estará disponível se você tiver selecionado a Autenticação do SQL Server.

    Senha
    Insira a senha para o logon. Essa opção só estará disponível se você tiver selecionado a Autenticação do SQL Server.

    Próximo
    Conecte-se ao servidor e valide o usuário. Esse processo verifica se o usuário tem as permissões listadas acima nos computadores selecionados.

  4. Na página Selecionar um Método de Transferência , selecione o método de transferência.

    Usar o método de desanexar e anexar
    Desanexe o banco de dados do servidor de origem, copie os arquivos de banco de dados (.mdf, .ndf e .ldf) para o servidor de destino e anexe o banco de dados no servidor de destino. Esse método geralmente é o método mais rápido porque o trabalho principal está lendo o disco de origem e gravando o disco de destino. Nenhuma lógica do SQL Server é necessária para criar objetos no banco de dados ou criar estruturas de armazenamento de dados. No entanto, esse método poderá ser mais lento se o banco de dados contiver uma grande quantidade de espaço alocado, mas não utilizado. Por exemplo, um banco de dados novo e praticamente vazio criado alocando 100 MB copia os 100 MB inteiros, mesmo que apenas 5 MB esteja cheio.

    Observação

    Esse método torna o banco de dados indisponível para os usuários durante a transferência.

    Se ocorrer uma falha, reanexe o banco de dados de origem
    Quando um banco de dados é copiado, os arquivos de banco de dados originais são sempre anexados novamente ao servidor de origem. Use essa caixa para reanexar arquivos originais ao banco de dados de origem se uma movimentação de banco de dados não puder ser concluída.

    Usar o método objeto de gerenciamento do SQL
    Esse método lê a definição de cada objeto de banco de dados no banco de dados de origem e cria cada objeto no banco de dados de destino. Em seguida, transfere os dados das tabelas de origem para as tabelas de destino, recriando índices e metadados.

    Observação

    Os usuários do banco de dados podem continuar acessando o banco de dados durante a transferência.

  5. Na página Selecionar Banco de Dados , selecione o banco de dados ou os bancos de dados que você deseja mover ou copiar do servidor de origem para o servidor de destino. Consulte limitações e restrições na seção 'Antes de Começar' deste tópico.

    Mover
    Mova o banco de dados para o servidor de destino.

    Copiar
    Copie o banco de dados para o servidor de destino.

    Fonte
    Exibe os bancos de dados que existem no servidor de origem.

    Estado
    Exibe OK se o banco de dados puder ser movido. Caso contrário, exibe o motivo pelo qual o banco de dados não pode ser movido.

    Atualizar
    Atualize a lista de bancos de dados.

    Próximo
    Inicie o processo de validação e, em seguida, vá para a próxima tela.

  6. Na página Configurar Banco de Dados de Destino, altere o nome do banco de dados, se apropriado, e especifique o local e os nomes dos arquivos de banco de dados. Esta página aparece uma vez para cada banco de dados sendo movido ou copiado.

  7. Na página Selecionar Objetos de Banco de Dados , selecione os objetos a serem incluídos na operação de movimentação ou cópia. Esta página só estará disponível quando a origem e o destino forem servidores diferentes. Para incluir um objeto, clique no nome do objeto na caixa objetos relacionados disponível e clique no >> botão para mover o objeto para a caixa objetos relacionados selecionado . Para excluir um objeto, clique no nome do objeto na caixa objetos relacionados selecionados e clique no << botão para mover o objeto para a caixa objetos relacionados Disponível . Por padrão, todos os objetos de cada tipo selecionado são transferidos. Para escolher um objeto individual de qualquer tipo, clique no botão de reticência ao lado de qualquer tipo de objeto na caixa Objetos Relacionados Selecionados. Isso abre uma caixa de diálogo na qual você pode selecionar objetos individuais.

    Logons (todos os logons em tempo de execução)
    Inclua logons na operação de movimentação ou cópia. Selecionadas por padrão.

    Procedimentos armazenados do banco de dados mestre
    Inclua procedimentos armazenados do banco de dados mestre na operação de movimentação ou cópia.

    Observação

    Procedimentos armazenados estendidos e suas DLLs associadas não são elegíveis para cópia automatizada.

    trabalhos do SQL Server Agent
    Inclua tarefas do banco de dados msdb ao movimentar ou copiar.

    Mensagens de erro definidas pelo usuário
    Inclua mensagens de erro definidas pelo usuário na operação de movimentação ou cópia.

    Pontos de extremidade
    Inclua pontos de extremidade definidos no banco de dados de origem.

    Catálogo de texto completo
    Inclua catálogos de texto completo do banco de dados de origem.

    Pacote SSIS
    Inclua pacotes SSIS definidos no banco de dados de origem.

    Descrição
    Uma descrição do objeto.

  8. Na página Localização dos Arquivos de Banco de Dados de Origem , especifique um compartilhamento do sistema de arquivos que contenha os arquivos de banco de dados no servidor de origem. Isso será necessário se as instâncias do servidor de origem e de destino estiverem em computadores diferentes.

    Banco de dados
    Exibe o nome de cada banco de dados que está sendo movido.

    Local da pasta
    Especifique o local dos arquivos de banco de dados de origem no sistema de arquivos.

    Por exemplo: C:\Arquivos de Programas\Microsoft SQL Server\MSSQL110. MSSQLSERVER\MSSQL\DATA

    Compartilhamento de arquivos no servidor de origem
    Especifique o local dos arquivos de banco de dados de origem como um caminho de um compartilhamento de arquivos.

    Por exemplo: "\\server_name\C$\Program Files\Microsoft SQL Server\MSSQL110. MSSQLSERVER\MSSQL\Data

  9. O Assistente para Copiar Banco de Dados cria um pacote SSIS para transferir o banco de dados. Na página Configurar o pacote, você pode personalizar o pacote, se apropriado.

    Local do pacote
    Exibe onde o pacote SSIS será gravado.

    nome do pacote
    Insira um nome para o pacote SSIS.

    Opções de log
    Selecione se deseja armazenar as informações de log no log de eventos do Windows ou em um arquivo de texto.

    Caminho do arquivo de log de erros
    Forneça um caminho para o local do arquivo de log. Essa opção só estará disponível se a opção de registro em log de arquivo de texto estiver selecionada.

  10. Na página Agendar o Pacote , especifique quando desejar que a operação de movimentação ou cópia seja iniciada. Se você não for um administrador do sistema, deverá especificar uma conta proxy do SQL Server Agent que tenha acesso ao subsistema de execução do pacote do SSIS (Integration Services).

    Executar imediatamente
    Inicie a operação de movimentação ou cópia depois de clicar em Avançar.

    Horário
    Inicie a operação de movimentação ou cópia mais tarde. As configurações de agendamento atuais aparecem na caixa de descrição. Para alterar a agenda, clique em Alterar.

    Altere
    Abra a caixa de diálogo Novo Agendamento de Trabalho .

    Conta proxy do Integration Services
    Selecione uma conta proxy disponível. Para agendar a transferência, deve haver pelo menos uma conta proxy disponível para o usuário, configurada com permissão para o subsistema de execução de pacote do SQL Server Integration Services .

    Para criar uma conta proxy para a execução do pacote SSIS, no Pesquisador de Objetos, expanda o SQL Server Agent, expanda Proxies, clique com o botão direito do mouse na Execução do Pacote SSIS e clique em Novo Proxy.

    Os membros da função de servidor fixa sysadmin podem selecionar a Conta de Serviço do SQL Server Agent, que tem as permissões necessárias.

  11. Na página Concluir o Assistente, revise o resumo das opções selecionadas. Clique em Voltar para alterar uma opção. Clique em Concluir para criar o banco de dados. Durante a transferência, a página Operação em andamento monitora informações de status sobre a execução do Assistente para Copiar Banco de Dados.

    Ação
    Lista cada ação que está sendo executada.

    Estado
    Indica se a ação como um todo foi bem-sucedida ou falhou.

    Mensagem
    Fornece todas as mensagens retornadas de cada etapa.

Acompanhamento: depois de atualizar um banco de dados do SQL Server

Depois de usar o Assistente para Copiar Banco de Dados para atualizar um banco de dados de uma versão anterior do SQL Server para o SQL Server 2014, o banco de dados ficará disponível imediatamente e será atualizado automaticamente. Se o banco de dados tiver índices de texto completo, o processo de atualização importará, redefinirá ou recriará esses índices dependendo da configuração da propriedade de servidor Opção de Atualização de Texto Completo . Se a opção de atualização for definida como Importar ou Recriar, os índices de texto completo permanecerão indisponíveis durante a atualização. Dependendo da quantidade de dados que estão sendo indexados, a importação pode levar várias horas e a recompilação pode levar até dez vezes mais tempo. Lembre-se também de que, quando a opção de atualização estiver definida como Importar, se não houver um catálogo de texto completo disponível, os índices de texto completo associados serão recompilados. Para obter informações sobre como exibir ou alterar a configuração da propriedade Full-Text Upgrade Option , veja Gerenciar e monitorar a pesquisa de texto completo para uma instância de servidor.

Se o nível de compatibilidade de um banco de dados de usuário for 100 ou superior antes da atualização, ele permanecerá o mesmo após a atualização. Se o nível de compatibilidade for 90 no banco de dados atualizado, o nível de compatibilidade será definido como 100, que é o nível de compatibilidade mais baixo com suporte no SQL Server 2014. Para obter mais informações, confira Nível de compatibilidade de ALTER DATABASE (Transact-SQL).

Consulte Também

Atualizar um banco de dados usando desanexar e anexar (Transact-SQL)
criar um proxy do SQL Server Agent