Compartilhar via


Usar o Assistente para Copiar Banco de Dados

O Assistente para Copiar Banco de Dados lhe permite migrar ou copiar bancos de dados e seus objetos facilmente de um servidor para outro, sem inatividade do servidor. Você também pode atualizar bancos de dados de uma versão SQL Server anterior para SQL Server 2014. Com esse assistente, é possível fazer o seguinte:

  • Selecionar um servidor de origem e de destino.

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

  • Especificar o local de arquivo para os bancos de dados.

  • Criar logons no servidor de destino.

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

  • Agendar a migração ou cópia dos bancos de dados.

Além de copiar bancos de dados, é possível copiar os metadados associados, como, por exemplo, logons e objetos do banco de dados mestre exigidos por um banco de dados copiado.

Neste 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 em Modo de Emergência.

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

  • Se você selecionar a opção Migrar , o assistente excluirá o banco de dados de origem automaticamente após migrá-lo. Se você selecionar Copiar , o Assistente para Copiar Banco de Dados não excluirá o banco de dados de origem.

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

  • O método desanexar-e-anexar desanexa o banco de dados, migra ou copia os arquivos .mdf, .ndf e .ldf do banco de dados e os reanexa ao banco de dados em um novo local. Ao utilizar o método 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 migrado ou copiado. Se houver alguma sessão ativa, o Assistente para Copiar Banco de Dados não executará a operação de migração ou cópia. No método SQL Server Management Object, permitem-se sessões ativas 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 perfeito de um banco de dados atualizado, execute sp_updatestats (atualização de estatísticas) nele.

  • Ao copiar um banco de dados para outra instância do servidor, para oferecer uma experiência consistente aos usuários e aplicativos, pode ser necessário recriar alguns ou todos os metadados do banco de dados, como logons e trabalhos, na outra instância de 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 membro da função de servidor fixa sysadmin em ambos os servidores, de origem e de destino.

Copiar, mover ou atualizar bancos de dados

  1. Em SQL Server Management Studio, em 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 que deseja mover ou copiar e digite as informações de logon. Depois de selecionar o método de autenticação e digitar as informações de logon, clique em Avançar para estabelecer conexão com o servidor de origem. Essa conexão permanece aberta durante 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 ser, pelo menos, SQL Server 2005.

    Usar 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 SQL Server nome de usuário e senha da Autenticação.

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

    Senha
    Digite a senha do logon. Esta opção só estará disponível se você tiver optado por conectar-se usando a Autenticação do SQL Server.

    Próximo
    Conecta ao servidor e valida 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 Selecione um Servidor de Destino , especifique o servidor para o qual o banco de dados será movido ou copiado. Se você definiu os servidores de origem e destino com a mesma instância de servidor, fará uma cópia de um banco de dados. Nesse caso, renomeie o banco de dados em um ponto posterior do assistente. O nome do banco de dados de origem poderá ser usado somente para o banco de dados copiado ou migrado se não houver conflitos de nome no servidor de destino. Se houver conflitos de nome, será preciso resolvê-los manualmente no servidor de destino para poder usar o nome do banco de dados de origem nele.

    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 está em um servidor clusterizado; o Assistente para Copiar Banco de Dados garantirá que você selecionará somente unidades compartilhadas de um servidor de destino clusterizado.

    Usar 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 SQL Server nome de usuário e senha da Autenticação.

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

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

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

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

    Usar o método desanexar e anexar
    Desanexa o banco de dados do servidor de origem, copia os arquivos do banco de dados (.mdf, .ndf e . ldf) para o servidor de destino e anexa o banco de dados ao servidor de destino. Esse método é geralmente o mais rápido porque o trabalho principal é ler o disco de origem e gravar o disco de destino. Nenhuma lógica do SQL Server é exigida para criar objetos dentro do banco de dados ou para criar estruturas de armazenamento de dados. Porém, este método pode 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 que seja criado alocando 100 MB, copia todos os 100 MB, mesmo que apenas 5 MB estejam completos.

    Observação

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

    Se ocorrer uma falha, anexar novamente o banco de dados de origem
    Quando um banco de dados é copiado, os arquivos do banco de dados original são sempre anexados novamente ao servidor de origem. Use essa caixa para anexar novamente os arquivos originais ao banco de dados de origem se não for possível mover um banco de dados.

    Usar o método SQL Management Object
    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. Depois ele transfere os dados das tabela de origem para as tabelas de destino, recriando os índices e os metadados.

    Observação

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

  5. Na página Selecionar Banco de Dados , selecione o banco ou os bancos de dados que 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.

    Cópia
    Copie o banco de dados no servidor de destino.

    Origem
    Exibe os bancos de dados existentes no servidor de origem.

    Status
    Exibe OK se o banco de dados puder ser movido. Caso contrário, exibe a razão pela 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 avance 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. Essa página aparece uma vez para cada banco de dados que é movido ou copiado.

  7. Na página Selecionar Objetos de Banco de Dados , selecione os objetos para incluir na operação de movimentação ou cópia. Essa página está disponível apenas quando os servidores de origem e de destino forem diferentes. Para incluir um objeto, clique no nome do objeto na caixa Objetos relacionados disponíveis e clique no botão >> para mover o objeto para a caixa Objetos relacionados selecionados . 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íveis . Por padrão, são transferidos todos os objetos de cada tipo selecionado. Para escolher objetos individuais de qualquer tipo, clique no botão de reticências ao lado de qualquer tipo de objeto na caixa Objetos relacionados selecionados . Isso abre uma caixa de diálogo onde você pode selecionar objetos individuais.

    Logons (Todos os logons em tempo de execução)
    Inclua logons na operação de mover ou copiar. Selecionadas por padrão.

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

    Observação

    Procedimentos armazenados estendidos e seus DLLs associados não são qualificados para cópia automatizada.

    trabalhos do SQL Server Agent
    Inclua trabalhos do banco de dados msdb na operação de movimentação ou cópia.

    Mensagens de erro definidas pelo usuário
    Inclua mensagens de erro definidas pelo usuário na operação de mover e copiar.

    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 Local do Arquivos de Banco de Dados de Origem , especifique um compartilhamento de sistema de arquivos que contém os arquivos de banco de dados no servidor de origem. Isso será necessário se as instâncias de servidor de origem e destino estiverem em computadores diferentes.

    Banco de dados
    Exibe o nome de cada banco de dados que é 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 arquivo no servidor de origem
    Especifique o local dos arquivos de banco de dados de origem como um caminho de 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 Da página Configurar o Pacote , personalize o pacote, se apropriado.

    Local do pacote
    Exibe o local em que o pacote SSIS será gravado.

    Nome do pacote
    Insira um nome para o pacote SSIS.

    Opções de log
    Selecione se as informações de log serão armazenadas 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 log de arquivo de texto for selecionada.

  10. Na página Agendar o Pacote , especifique quando você quer 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 de Pacote SSIS (Integration Services).

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

    Agenda
    Iniciar a operação de mover ou copiar mais tarde. As configurações de agenda atuais aparecem na caixa de descrição. Para alterar a agenda, clique em Alterar.

    Alteração
    Abra a caixa de diálogo Nova Agenda 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 do pacote SQL Server Integration Services .

    Para criar uma conta proxy para a execução do pacote SSIS, em Pesquisador de Objetos, expanda SQL Server Agent, expanda Proxies, clique com o botão direito do mouse em Execução de 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 Agentque tenha as permissões necessárias.

  11. Na página Concluir o Assistente , confira 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 Executando operação 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.

    Status
    Indica se a ação como um todo obteve êxito ou falhou.

    Message
    Fornece qualquer mensagem que retornou 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 SQL Server 2014, o banco de dados fica disponível imediatamente e é 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 a serem indexados, a importação pode levar várias horas, e a recriação pode ser até dez vezes mais demorada. 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 era 100 ou mais alto antes da atualização, ele permanecerá o mesmo depois da 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 menor nível de compatibilidade com suporte em 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