Compartilhar via


Lição 6: Migrar um banco de dados de um computador de origem local para um computador de destino no Azure

Esta lição pressupõe que você já tenha outro SQL Server, que pode residir em outro computador local ou em uma máquina virtual no Azure. Para obter informações sobre como criar uma máquina virtual do SQL Server no Azure, consulte Provisionamento de uma Máquina Virtual do SQL Server no Azure. Depois de provisionar uma máquina virtual do SQL Server no Azure, verifique se você pode se conectar a uma instância do SQL Server nesta máquina virtual por meio do SQL Server Management Studio em outro computador.

Esta lição também pressupõe que você já concluiu as seguintes etapas:

  • Você tem uma conta de Armazenamento do Microsoft Azure.

  • Você criou um contêiner em sua conta de Armazenamento do Azure.

  • Você criou uma política no contêiner com direitos de leitura, gravação e listagem. Você também gerou uma chave SAS.

  • Você criou uma credencial do SQL Server no computador de origem.

  • Você já criou uma máquina virtual do SQL Server de destino no Azure. Recomendamos que você a crie selecionando uma imagem de plataforma que inclua o SQL Server 2014.

Para migrar um banco de dados do SQL Server local para outra máquina virtual no Azure, você pode seguir estas etapas:

  1. No computador de origem (que é um computador local neste tutorial), abra uma janela de consulta no SQL Server Management Studio. Desanexe seu banco de dados para movê-lo para outro computador executando estas instruções:

    -- Detach the database in the source machine   
    USE master  
    EXEC sp_detach_db 'TestDB1', 'true';  
    
  2. Se precisar transferir um banco de dados para um computador de destino, primeiro você deverá prepará-lo. Para preparar seu computador de destino, primeiro você precisa criar uma credencial do SQL Server no computador de destino. Se for um banco de dados criptografado, você também precisará importar o certificado do computador de origem para o computador de destino.

    1. Para criar uma Credencial do SQL Server no computador de destino, siga estas etapas:

      1. Conecte-se ao computador de destino por meio do SQL Server Management Studio em seu computador de origem. Ou inicie o SQL Server Management Studio diretamente no computador de destino.

      2. Na barra de ferramentas Standard, clique em Nova Consulta.

      3. Copie e cole o exemplo a seguir na janela de consulta, modifique conforme necessário. A instrução a seguir cria uma Credencial do SQL Server para armazenar o Certificado de Acesso Compartilhado do contêiner de armazenamento.

        
        USE master   
        GO   
        CREATE CREDENTIAL [http://teststorageaccnt.blob.core.windows.net/testcontainer]   
        WITH IDENTITY='SHARED ACCESS SIGNATURE',   
        SECRET = 'your SAS key'   
        GO  
        
        
      4. Para ver todas as credenciais disponíveis, você pode executar a seguinte instrução na janela de consulta:

        SELECT * from sys.credentials   
        
      5. Quando conectado ao servidor de destino, abra a janela de consulta e execute:

        
        -- Create a master key and a server certificate   
        USE master   
        GO   
        CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'MySQLKey01'; -- You may use a different password.   
        GO   
        CREATE CERTIFICATE MySQLCert   
        FROM FILE = 'C:\certs\MySQLCert.CER'   
        WITH PRIVATE KEY   
        (   
        FILE = 'C:\certs\MySQLPrivateKeyFile.PVK',   
        DECRYPTION BY PASSWORD = 'MySQLKey01'   
        );   
        GO  
        
        

        No final desta etapa, o computador de destino importou o certificado de criptografia que foi feito backup do computador de origem. Em seguida, você pode anexar os arquivos de dados no computador de destino.

    2. Em seguida, crie um banco de dados com arquivos de dados e log apontando para os arquivos existentes no Armazenamento do Azure usando a opção FOR ATTACH. Na janela de consulta, execute a seguinte instrução:

      
      --Create a database on the destination server   
      CREATE DATABASE TestDB1onDest   
      ON   
      (NAME = TestDB1_data,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Data.mdf' )   
      LOG ON   
       (NAME = TestDB1_log,   
          FILENAME = 'https://teststorageaccnt.blob.core.windows.net/testcontainer/TestDB1Log.ldf')   
      FOR ATTACH   
      GO  
      
      
    3. No Pesquisador de Objetos, clique em Bancos de Dados, clique com o botão direito do mouse em Atualizar. Você deve ser capaz de ver o banco de dados recém-criado TestDB1onDest listado.

    4. Em seguida, execute a seguinte instrução na janela de consulta:

      
      USE TestDB1onDest   
      SELECT * FROM Table1;   
      GO  
      
      

      Isso deve listar todos os dados inseridos na Lição 4.

Observe que o banco de dados criptografado foi transferido para outra instância de computação sem movimentação de dados.

Para criar um banco de dados com arquivos de log e dados apontando para os arquivos existentes no Armazenamento do Azure usando a interface do usuário do SQL Server Management Studio, execute estas etapas:

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda essa instância.

  2. Clique com o botão direito do mouse em Bancos de Dados e clique em Novo Banco de Dados. Em seguida, clique com o botão direito do mouse em TestDB1. Clique em Tarefas e clique em Desanexar. Na janela de diálogo Desanexar, verifique Remover Conexões. Clique em OK.

  3. Conecte-se ao computador de destino, que tem o SQL Server 2014 CTP2 ou posterior. Para preparar seu computador de destino, você precisa criar uma credencial do SQL Server no computador de destino para apontar para o mesmo contêiner no qual você colocou TestDB1. Se você for anexar novamente no mesmo computador, não precisará criar outra credencial.

  4. No Pesquisador de Objetos, clique com o botão direito do mouse em Bancos de Dados e clique em Anexar.

  5. Na caixa de diálogo Anexar Bancos de Dados , para especificar o banco de dados a ser anexado, clique em Adicionar. Na janela da caixa de diálogo Localizar Arquivos de Banco de Dados :

    Para o local do arquivo de dados do banco de dados, digite: https://teststorageaccnt.blob.core.windows.net/testcontainer/.

    Para o nome do arquivo, digite: TestDB1Data.mdf.

  6. Clique em OK.

    SQL 14 CTP2

Próxima lição:

Lição 7: Mover seus arquivos de dados para o Armazenamento do Azure