Copiar dados de uma base de dados SQL Server para o armazenamento da Azure Blob

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Neste tutorial, utiliza-se a interface de utilizador Azure Data Factory (UI) para criar um pipeline de fábrica de dados que copia dados de uma base de dados SQL Server para o armazenamento do Azure Blob. Vai criar e utilizar um runtime de integração autoalojado, que move dados entre arquivos de dados no local e na cloud.

Nota

Este artigo não disponibiliza uma introdução detalhada do Data Factory. Para obter mais informações, veja Introdução ao Data Factory.

Neste tutorial, vai executar os seguintes passos:

  • Criar uma fábrica de dados.
  • Criar um integration runtime autoalojado.
  • Criar serviços ligados do SQL Server e do Armazenamento do Azure.
  • Criar conjuntos de dados do SQL Server e dos Blobs do Azure.
  • Criar um pipeline com uma atividade de cópia para mover os dados.
  • Iniciar uma execução de pipeline.
  • Monitorizar a execução do pipeline.

Pré-requisitos

Subscrição do Azure

Antes de começar, se não tiver uma subscrição do Azure, crie uma conta gratuita.

Funções do Azure

Para criar casos de fábrica de dados, a conta de utilizador que utiliza para iniciar sessão no Azure deve ser atribuída a uma função de Contribuinte ou Proprietário ou deve ser administradora da subscrição Azure.

Para ver as permissões que tem na subscrição, aceda ao portal do Azure. No canto superior direito, selecione o nome de utilizador e, em seguida, selecione Permissões. Se tiver acesso a várias subscrições, selecione a subscrição apropriada. Para obter instruções de amostra sobre como adicionar um utilizador a uma função, consulte as funções De Atribuir Azure utilizando o portal do Azure.

SQL Server 2014, 2016 e 2017

Neste tutorial, utilize uma base de dados SQL Server como uma loja de dados de origem. O gasoduto na fábrica de dados que cria neste tutorial copia dados desta base de dados SQL Server (fonte) para o armazenamento blob (pia). Em seguida, cria uma tabela com o nome de emp na sua base de dados SQL Server e insere algumas entradas de amostras na tabela.

  1. Inicie o SQL Server Management Studio. Se ainda não estiver instalado no seu computador, aceda a Transferir o SQL Server Management Studio.

  2. Utilize as suas credenciais para se ligar à sua instância do SQL Server.

  3. Crie uma base de dados de exemplo. Na vista de árvore, clique com o botão direito do rato em Bases de Dados e selecione Nova Base de Dados.

  4. Na janela Nova Base de Dados, introduza um nome para a base de dados e selecione OK.

  5. Para criar a tabela emp e inserir alguns dados de exemplo na mesma, execute o script de consulta seguinte na base de dados. Na vista de árvore, clique com o botão direito do rato na base de dados que criou e selecione Nova Consulta.

     CREATE TABLE dbo.emp
     (
         ID int IDENTITY(1,1) NOT NULL,
         FirstName varchar(50),
         LastName varchar(50)
     )
     GO
    
     INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe')
     INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe')
     GO
    

Conta de armazenamento do Azure

Neste tutorial, utiliza uma conta de armazenamento do Azure para fins gerais (mais concretamente, o Armazenamento de blobs) como arquivo de dados de destino/sink. Se não tiver uma conta de armazenamento do Azure para fins gerais, veja Criar uma conta de armazenamento. O gasoduto na fábrica de dados que cria neste tutorial copia dados da base de dados SQL Server (fonte) para o armazenamento blob (pia).

Obter o nome e a chave da conta de armazenamento

Utilize o nome e a chave da sua conta de armazenamento neste tutorial. Para obter o nome e a chave da sua conta de armazenamento, siga os passos seguintes:

  1. Inicie sessão no portal do Azure com o seu nome de utilizador e a palavra-passe do Azure.

  2. No painel esquerdo, selecione Todos os serviços. Utilize a palavra-chave Armazenamento para filtrar e selecione Contas de armazenamento.

    Storage account search

  3. Na lista de contas de armazenamento, filtre para a sua conta de armazenamento, se necessário. Em seguida, selecione a sua conta de armazenamento.

  4. Na janela Conta de armazenamento, selecione Chaves de acesso.

  5. Nas caixas Nome da conta de armazenamento e key1, copie os valores e cole-os no Bloco de notas ou noutro editor, para utilizar mais adiante no tutorial.

Criar o contentor adftutorial

Nesta secção, vai criar um contentor de blobs com o nome adftutorial no seu armazenamento de Blobs.

  1. Na janela da conta Armazenamento, vá ao Overview e, em seguida, selecione Recipientes.

    Select Blobs option

  2. Na janela Recipientes , selecione + Recipiente para criar um novo.

  3. Na janela Novo contentor, em Nome, introduza adftutorial. Em seguida, selecione Criar.

  4. Na lista de contentores, selecione adftutorial que acabou de criar.

  5. Mantenha a janela do recipiente aberta para o adftutorial . Usa-o para verificar a saída no final do tutorial. O Data Fabric cria automaticamente a pasta de saída neste contentor, pelo que não precisa de a criar.

Criar uma fábrica de dados

Neste passo, vai criar uma fábrica de dados e iniciar a IU do Data Factory para criar um pipeline na fábrica de dados.

  1. Abra o browser Microsoft Edge ou Google Chrome. Atualmente, a IU do Data Factory é suportada apenas nos browsers Microsoft Edge e Google Chrome.

  2. No menu esquerdo, selecione Criar umaFábrica de Dadosde Gestação de> Recursos>:

    Data Factory selection in the "New" pane

  3. Na página Nova fábrica de dados, em Nome, introduza ADFTutorialDataFactory.

    O nome da fábrica de dados tem de ser globalmente exclusivo. Se vir a seguinte mensagem de erro no campo de nome, altere o nome da fábrica de dados (por exemplo, oseunomeADFTutorialDataFactory). Para obter as regras de nomenclatura dos artefactos do Data Factory, veja Regras de nomenclatura do Data Factory.

    New data factory error message for duplicate name.

  4. Selecione a subscrição do Azure na qual pretende criar a fábrica de dados.

  5. Em Grupo de Recursos, efetue um destes passos:

  6. Em Versão, selecione V2.

  7. Em Localização, selecione a localização para a fábrica de dados. Só aparecem na lista pendente as localizações que são suportadas. Os arquivos de dados (por exemplo, o Armazenamento e a Base de Dados SQL) e as computações (por exemplo, o Azure HDInsight) que o Data Factory utiliza podem estar noutras regiões.

  8. Selecione Criar.

  9. Depois de concluída a criação, vê a página da Data Factory como mostrado na imagem:

    Home page for the Azure Data Factory, with the Open Azure Data Factory Studio tile.

  10. Selecione Open on the Open Azure Data Factory Studio para lançar o UI data factory em um separador.

Criar um pipeline

  1. Na página inicial Azure Data Factory, selecione Orchestrate. É criado um pipeline automaticamente por si. Verá o pipeline na vista de árvore e o respetivo editor aberto.

    Screenshot that shows the Azure Data Factory home page.

  2. No painel geral em Propriedades, especifique SQLServerToBlobPipeline para nome. Em seguida, desagreda o painel clicando no ícone Propriedades no canto superior direito.

  3. Na caixa de ferramentas Atividades , expanda a Move & Transform. Arraste e largue a atividade Copiar para a superfície de desenho do pipeline. Defina o nome da atividade como CopySqlServerToAzureBlobActivity.

  4. Na janela Propriedades, vá para o separador Origem e selecione + Novo.

  5. Na caixa de diálogo New Dataset, procure SQL Server. Selecione SQL Server e, em seguida, selecione Continue. New SqlServer dataset

  6. Na caixa de diálogo set Properties , em Nome, insira o SqlServerDataset. Em serviço Linked, selecione + Novo. Neste passo, vai criar uma ligação para o arquivo de dados de origem (base de dados do SQL Server).

  7. Na caixa de diálogo new linked service , adicione Nome como SqlServerLinkedService. Sob Ligação através do tempo de integração, selecione +Novo. Nesta secção, vai criar um integration runtime autoalojado e vai associá-lo a um computador no local com a base de dados do SQL Server. O runtime de integração autoalojado é o componente que copia os dados da base de dados do SQL Server no seu computador para o armazenamento de Blobs.

  8. Na caixa de diálogo de configuração Integration Runtime, selecione Self-Hosted e, em seguida, selecione Continue.

  9. Sob o nome, insira TutorialIntegrationRuntime. Em seguida, selecione Criar.

  10. Para Definições, selecione Clique aqui para lançar a configuração expressa para este computador. Esta ação instala o runtime de integração no seu computador e regista-o no Data Factory. Em alternativa, pode utilizar a opção de configuração manual para transferir o ficheiro de instalação, executá-lo e utilizar a chave para registar o runtime de integração. Integration runtime setup

  11. Na janela Integration Runtime (Autoalojado) Configuração Express, selecione Fechar quando o processo estiver concluído.

    Integration runtime (self-hosted) express setup

  12. Na caixa de diálogo de serviço (SQL Server) do serviço novo, confirme que tutorialIntegrationRuntime é selecionado sob Ligação através do tempo de execução da integração. Em seguida, tome os seguintes passos:

    a. Em Nome, introduza SqlServerLinkedService.

    b. Em Nome do servidor, introduza o nome da instância do SQL Server.

    c. Em Nome da base de dados, introduza o nome da base de dados com a tabela emp.

    d. Em Tipo de autenticação, selecione o tipo de autenticação adequado que o Data Factory deverá utilizar para se ligar à sua base de dados do SQL Server.

    e. Em Nome de utilizador e Palavra-passe, introduza o nome de utilizador e a palavra-passe. Utilize o mydomain\myuser como nome de utilizador, se necessário.

    f. Selecione Testar ligação. Este passo é confirmar que a Data Factory pode ligar-se à sua base de dados SQL Server utilizando o tempo de integração auto-hospedado que criou.

    exemplo, Para salvar o serviço ligado, selecione Criar.

    New linked service (SQL Server)

  13. Após a criação do serviço ligado, volta à página de propriedades definidas para o SqlServerDataset. Siga estes passos:

    a. Em Serviço ligado, confirme que vê SqlServerLinkedService.

    b. Em nome de tabela, selecione [dbo].[ emp].

    c. Selecione OK.

  14. Vá para o separador com SQLServerToBlobPipeline ou selecione SQLServerToBlobPipeline na vista de árvore.

  15. Vá para o separador Sink, na parte inferior da janela Propriedades, e selecione + Novo.

  16. Na caixa de diálogo New Dataset, selecione Armazenamento de Blobs do Azure. Em seguida, selecione Continuar.

  17. Na caixa de diálogo Select Format , escolha o tipo de formato dos seus dados. Em seguida, selecione Continuar.

    Data format selection

  18. Na caixa de diálogo set Properties , insira O AzureBlobDataset para nome. Junto à caixa de texto Serviço ligado, selecione + Novo.

  19. Na caixa de diálogo New Linked Service (Armazenamento de Blobs do Azure), insira o AzureStorageLinkedService como nome, selecione a sua conta de armazenamento na lista de nomes da conta Armazenamento. A ligação de teste e, em seguida, selecione Criar para implementar o serviço ligado.

  20. Após a criação do serviço ligado, volta à página 'Definir propriedades '. Selecione OK.

  21. Abra o conjunto de dados da pia. No separador Ligação, siga os passos abaixo:

    a. Em Serviço ligado, confirme que AzureStorageLinkedService está selecionado.

    b. No caminho do arquivo, introduza adftutorial/fromonprem para a parte do Contentor/Diretório . Se a pasta de saída não existir no contentor adftutorial, o Data Factory cria-a automaticamente.

    c. Para a parte 'Ficheiro' , selecione Adicionar conteúdo dinâmico. dynamic expression for resolving file name

    d. Adicione @CONCAT(pipeline().RunId, '.txt')e, em seguida, selecione Acabamento. Esta ação mudará o nome do ficheiro para PipelineRunID.txt.

  22. Vá para o separador com o pipeline aberto ou selecione o pipeline na vista de árvore. Em Conjunto de Dados de Sink, confirme que AzureBlobDataset está selecionado.

  23. Para validar as definições do pipeline, selecione Validar na barra de ferramentas do mesmo. Para fechar a saída de validação do Tubo, selecione o >> ícone. validate pipeline

  24. Para publicar as entidades que criou para a Data Factory, selecione Publicar todas.

  25. Espere até ver a publicação completa . Para verificar o estado da publicação, selecione o link de notificações do Show na parte superior da janela. Para fechar a janela de notificação, selecione Fechar.

Acionar uma execução de pipeline

Selecione Adicionar Gatilho na barra de ferramentas para a tubagem e, em seguida, selecione Trigger Now.

Monitorizar a execução do pipeline.

  1. Vá ao separador Monitor . Vê o oleoduto que desencadeou manualmente no passo anterior.

  2. Para visualizar as operações associadas à execução do gasoduto, selecione a ligação SQLServerToBlobPipeline em PIPELINE NAME. Monitor pipeline runs

  3. Na página 'Atividade' executa , selecione o link Detalhes (imagem de óculos) para ver detalhes sobre a operação de cópia. Para voltar à vista Pipeline Runs, selecione All pipeline runs at the top.

Verificar a saída

O pipeline cria automaticamente a pasta de saída com o nome fromonprem no contentor de blobs adftutorial. Confirme que consegue ver o ficheiro [pipeline().RunId].txt na pasta de saída.

Passos seguintes

O pipeline neste exemplo copia dados de uma localização para outra localização no amazenamento de Blobs. Aprendeu a:

  • Criar uma fábrica de dados.
  • Criar um integration runtime autoalojado.
  • Criar serviços ligados do SQL Server e do Armazenamento.
  • Criar conjuntos de dados do SQL Server e do armazenamento de Blobs.
  • Criar um pipeline com uma atividade de cópia para mover os dados.
  • Iniciar uma execução de pipeline.
  • Monitorizar a execução do pipeline.

Para obter uma lista dos arquivos de dados que o Data Factory suporta, veja Arquivos de dados suportados.

Para saber como copiar dados em massa de uma origem para um destino, avance para o tutorial seguinte: