Lição 6: Migrar um banco de dados de um computador de origem no local para um computador de destino no Azure
Esta lição pressupõe que você já tenha outra 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 SQL Server no Azure, consulte Provisionando uma máquina virtual SQL Server no Azure. Depois de provisionar uma máquina virtual SQL Server no Azure, verifique se você pode se conectar a uma instância do SQL Server nessa máquina virtual por meio de SQL Server Management Studio em outro computador.
Esta lição supõe também que você já concluiu as seguintes etapas:
Você tem uma conta de Armazenamento do Azure.
Você criou um contêiner em sua conta de Armazenamento do Azure.
Você criou uma política em um contêiner com direitos de leitura, gravação e lista. Você também gerou uma chave de SAS.
Você criou uma credencial do SQL Server no computador de origem.
Você já criou um destino SQL Server máquina virtual no Azure. É recomendável que você a crie selecionando uma imagem da 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:
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';
Se você precisar transferir um banco de dados para um computador de destino, primeiro você deverá prepará-lo. Para preparar seu computador de destino, primeiro é necessário criar uma credencial do SQL Server no computador de destino. Se ele for um banco de dados criptografado, você precisará importar também o certificado do computador de origem para o computador de destino.
Para criar uma credencial do SQL Server no computador de destino, siga estas etapas:
Conecte-se ao computador de destino por meio do SQL Server Management Studio no computador de origem. Ou, inicie o SQL Server Management Studio no computador de destino diretamente.
Na barra de ferramentas Padrão , clique em Nova Consulta.
Copie e cole o exemplo a seguir na janela de consulta, e modifique conforme necessário. A instrução a seguir cria uma credencial 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
Para ver todas as credenciais disponíveis, você pode executar a instrução a seguir na janela de consulta:
SELECT * from sys.credentials
Quando conectado a um 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 dessa etapa, o computador de destino terá importado o certificado de criptografia que foi submetido a backup a partir do computador de origem. Em seguida, você pode anexar os arquivos de dados ao computador de destino.
Em seguida, crie um banco de dados com arquivos de dados e de 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
No Pesquisador de Objetos, clique em Bancos de Dados e clique com o botão direito em Atualizar. Você verá o banco de dados TestDB1onDest recém-criado listado.
Em seguida, execute a seguinte instrução na janela de consulta:
USE TestDB1onDest SELECT * FROM Table1; GO
Isso deve listar todos os dados que você inseriu na lição 4.
Observe que o banco de dados criptografado foi transferido para outra instância do computador sem o movimento de dados.
Para criar um banco de dados com arquivos de dados e de log apontando para os arquivos existentes no Armazenamento do Azure usando SQL Server Management Studio interface do usuário, execute estas etapas:
No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de Dados do SQL Server e expanda-a.
Clique com o botão direito do mouse em Bancos de Dadose clique em Novo Banco de Dados. Em seguida, clique com o botão direito do mouse em TestDB1. Clique em Tarefas e, em seguida, clique em Desanexar. Na janela da caixa de diálogo Desanexar, marque Descartar Conexões. Clique em OK.
Conecte-se ao computador de destino, que tem o SQL Server CTP2 2014 ou posterior. Para preparar seu computador de destino, é necessário criar uma credencial do SQL Server no computador de destino que aponte para o mesmo contêiner em que você colocou TestDB1. Se você pretende anexar novamente no mesmo computador, não será necessário criar outra credencial.
Em Pesquisador de Objetos, clique com o botão direito do mouse em Bancos de Dados e clique em Anexar.
Na caixa de diálogo Anexar Bancos de Dados , para especificar o banco de dados a ser anexado, clique em Adicionar. Na janela de diálogo Localizar Arquivos de Banco de Dados :
Para Local do Arquivo de Dados do Banco de Dados, digite:
https://teststorageaccnt.blob.core.windows.net/testcontainer/
.Para Nome do arquivo, digite:
TestDB1Data.mdf
.Clique em OK.
Próxima lição:
Lição 7: Migrar seus arquivos de dados para o Armazenamento do Microsoft Azure