Partilhar via


Carregar dados em um pool SQL dedicado no Azure Synapse Analytics com o SQL Server Integration Services (SSIS)

Aplica-se a:Azure Synapse Analytics

Crie um pacote do SQL Server Integration Services (SSIS) para carregar dados em um pool SQL dedicado no Azure Synapse Analytics. Opcionalmente, você pode reestruturar, transformar e limpar os dados à medida que eles passam pelo fluxo de dados do SSIS.

Este artigo mostra como fazer as seguintes coisas:

  • Crie um novo projeto do Integration Services no Visual Studio.
  • Crie um pacote SSIS que carregue dados da origem para o destino.
  • Execute o pacote SSIS para carregar os dados.

Conceitos básicos

O pacote é a unidade básica de trabalho no SSIS. Os pacotes relacionados são agrupados em projetos. Você cria projetos e pacotes de design no Visual Studio com o SQL Server Data Tools. O processo de design é um processo visual no qual você arrasta e solta componentes da Caixa de Ferramentas para a superfície de design, conecta-os e define suas propriedades. Depois de concluir o pacote, você pode executá-lo e, opcionalmente, implantá-lo no SQL Server ou no Banco de dados SQL para gerenciamento, monitoramento e segurança abrangentes.

Uma introdução detalhada ao SSIS está além do escopo deste artigo. Para saber mais, consulte os seguintes artigos:

Opções para carregar dados no Azure Synapse Analytics com SSIS

O SQL Server Integration Services (SSIS) é um conjunto flexível de ferramentas que fornece várias opções para se conectar e carregar dados no Azure Synapse Analytics.

  1. O método preferido, que fornece o melhor desempenho, é criar um pacote que use o de Tarefa de Carregamento do SQL DW do do Azure para carregar os dados. Esta tarefa encapsula as informações de origem e de destino. Ele pressupõe que seus dados de origem são armazenados localmente em arquivos de texto delimitados.

  2. Como alternativa, você pode criar um pacote que usa uma tarefa de Fluxo de Dados que contém uma origem e um destino. Essa abordagem dá suporte a uma ampla variedade de fontes de dados, incluindo o SQL Server e o Azure Synapse Analytics.

Pré-requisitos

Para percorrer este tutorial, você precisa das seguintes coisas:

  1. SQL Server Integration Services (SSIS). O SSIS é um componente do SQL Server e requer uma versão licenciada, ou a versão de desenvolvedor ou avaliação, do SQL Server. Para obter uma versão de avaliação do SQL Server, consulte Avaliar o SQL Server.

  2. Visual Studio (opcional). Para obter o Visual Studio Community Edition gratuito, consulte Visual Studio Community. Se você não quiser instalar o Visual Studio, poderá instalar somente o SSDT (SQL Server Data Tools). O SSDT instala uma versão do Visual Studio com funcionalidade limitada.

  3. SQL Server Data Tools for Visual Studio (SSDT). Para obter o SQL Server Data Tools for Visual Studio, consulte Baixar o SSDT (SQL Server Data Tools).

  4. Um banco de dados e permissões do Azure Synapse Analytics. Este tutorial se conecta a um pool SQL dedicado na instância do Azure Synapse Analytics e carrega dados nele. Você precisa ter permissão para se conectar, criar uma tabela e carregar dados.

Criar um novo projeto do Integration Services

  1. Inicie o Visual Studio.

  2. No menu Arquivo, selecione Novo | Projeto.

  3. Navegue até Instalado | Templates | Inteligência de Negócios | Integration Services tipo de projeto.

  4. Selecione o projeto do Integration Services . Forneça valores para Nome e Localizaçãoe, em seguida, selecione OK.

O Visual Studio abre e cria um novo projeto do Integration Services (SSIS). Em seguida, o Visual Studio abre o designer para o novo pacote SSIS único (Package.dtsx) no projeto. Você vê as seguintes áreas de tela:

  • À esquerda, a Caixa de Ferramentas de componentes do SSIS.

  • No centro, a superfície de design, com várias abas. Normalmente, usas pelo menos as guias Fluxo de Controle e Fluxo de Dados.

  • À direita, o Gerenciador de Soluções e os painéis Propriedades .

    Captura de tela do Visual Studio mostrando o painel Caixa de Ferramentas, o painel de design, o painel Gerenciador de Soluções e o painel Propriedades.

Opção 1 - Usar a tarefa SQL DW Upload

A primeira abordagem é um pacote que usa a tarefa SQL DW Upload. Esta tarefa encapsula as informações de origem e de destino. Ele pressupõe que seus dados de origem sejam armazenados em arquivos de texto delimitados, localmente ou no Armazenamento de Blobs do Azure.

Pré-requisitos para a opção 1

Para continuar o tutorial com essa opção, você precisa das seguintes coisas:

  • O Microsoft SQL Server Integration Services pacote de funcionalidades para Azure. A tarefa SQL DW Upload é um componente do Feature Pack.

  • Uma conta de Armazenamento de Blobs do Azure. A tarefa SQL DW Upload carrega dados do Azure Blob Storage no Azure Synapse Analytics. Você pode carregar arquivos que já estão no Armazenamento de Blob ou pode carregar arquivos do seu computador. Se você selecionar arquivos em seu computador, a tarefa Carregamento do SQL DW os carregará primeiro no Armazenamento de Blobs para preparo e, em seguida, os carregará em seu pool SQL dedicado.

Adicionar e configurar a tarefa de carregamento do SQL DW

  1. Arraste uma Tarefa de Carregamento do SQL DW da Caixa de Ferramentas para o centro da área de design (na aba Fluxo de Controle).

  2. Clique duas vezes na tarefa para abrir o SQL DW Upload Task Editor.

    Captura de tela da página Geral do editor de tarefas de carregamento do SQL DW.

  3. Configurar a tarefa com a ajuda da orientação no artigo Tarefa de Upload do Azure SQL DW. Como essa tarefa encapsula informações de origem e destino e os mapeamentos entre tabelas de origem e destino, o editor de tarefas tem várias páginas de configurações para configurar.

Crie uma solução semelhante manualmente

Para obter mais controle, você pode criar manualmente um pacote que emula o trabalho feito pela tarefa Carregamento do SQL DW.

  1. Use a Tarefa de Carregamento de Blob do Azure para preparar os dados no Armazenamento de Blobs do Azure. Para obter a tarefa de Carregamento de Blobs do Azure, faça o download do Microsoft SQL Server Integration Services Feature Pack para Azure.

  2. Em seguida, use a tarefa SSIS Execute SQL para iniciar um script PolyBase que carrega os dados em seu pool SQL dedicado. Para obter um exemplo que carrega dados do Armazenamento de Blobs do Azure no pool SQL dedicado (mas não com o SSIS), consulte Tutorial: Carregar dados para o Azure Synapse Analytics.

Opção 2 - Usar uma origem e um destino

A segunda abordagem é um pacote típico que usa uma tarefa de fluxo de dados que contém uma origem e um destino. Essa abordagem dá suporte a uma ampla variedade de fontes de dados, incluindo o SQL Server e o Azure Synapse Analytics.

Este tutorial usa o SQL Server como fonte de dados. O SQL Server é executado no local ou em uma máquina virtual do Azure.

Para se conectar ao SQL Server e a um pool SQL dedicado, você pode usar um gerenciador de conexões ADO.NET e origem e destino, ou um gerenciador de conexões OLE DB e origem e destino. Este tutorial usa ADO.NET porque tem o menor número de opções de configuração. O OLE DB pode fornecer um desempenho ligeiramente melhor do que ADO.NET.

Como atalho, você pode usar o Assistente de Importação e Exportação do SQL Server para criar o pacote básico. Em seguida, salve o pacote e abra-o no Visual Studio ou SSDT para exibi-lo e personalizá-lo. Para obter mais informações, consulte Importar e exportar dados com o Assistente de Importação e Exportação do SQL Server.

Pré-requisitos para a opção 2

Para continuar o tutorial com essa opção, você precisa das seguintes coisas:

  1. Dados de exemplo. Este tutorial usa dados de exemplo armazenados no SQL Server no banco de dados de exemplo AdventureWorks como os dados de origem a serem carregados em um pool SQL dedicado. Para obter o banco de dados de exemplo AdventureWorks, consulte AdventureWorks Sample Databases.

  2. Uma regra de firewall. Você precisa criar uma regra de firewall em seu pool SQL dedicado com o endereço IP do seu computador local antes de poder carregar dados para o pool SQL dedicado.

Criar o fluxo de dados básico

  1. Arraste uma Tarefa de Fluxo de Dados da Caixa de Ferramentas para o centro da superfície de design (na aba de Fluxo de Controle).

    Captura de tela do Visual Studio mostrando uma Tarefa de Fluxo de Dados sendo arrastada para a guia Fluxo de Controle do painel de design.

  2. Clique duas vezes na Tarefa Fluxo de Dados para alternar para a guia Fluxo de Dados.

  3. Na lista Outras Fontes na Caixa de Ferramentas, arraste um ADO.NET Source para a superfície de design. Com o adaptador de origem ainda selecionado, altere seu nome para origem do SQL Server no painel Propriedades.

  4. Na lista de Outros Destinos na Caixa de Ferramentas, arraste um destino ADO.NET para a superfície de design debaixo da origem ADO.NET. Com o adaptador de destino ainda selecionado, altere o seu nome para destino do SQL DW no painel de Propriedades .

    Captura de tela de um adaptador de destino sendo arrastado para um local diretamente abaixo do adaptador de origem.

Configurar o adaptador de origem

  1. Clique duas vezes no adaptador de origem para abrir o ADO.NET Source Editor.

    Captura de tela do Editor de código-fonte ADO.NET. A guia Gerenciador de conexões está visível e os controles estão disponíveis para configurar as propriedades de fluxo de dados.

  2. Na guia do Gerenciador de Conexões daEditor de Código-Fonte do ADO.NET , selecione o botão Novo ao lado da lista do gerenciador de conexões ADO.NET para abrir a caixa de diálogo Configurar Gerenciador de Conexões ADO.NET e criar configurações de conexão para o banco de dados do SQL Server a partir do qual este tutorial carrega dados.

    Captura de tela da caixa de diálogo Configurar ADO.NET Gerenciador de Conexões. Os controles estão disponíveis para instalar e configurar gerenciadores de conexões.

  3. Na caixa de diálogo Configurar ADO.NET Gerenciador de Conexões, selecione o botão Novo para abrir a caixa de diálogo do Gerenciador de Conexões e criar uma nova conexão de dados.

    Captura de ecrã da caixa de diálogo Gestor de ligações. Os controles estão disponíveis para configurar uma conexão de dados.

  4. Na caixa de diálogo do Gerenciador de Conexões, faça o seguinte.

    1. Para Provedor, selecione o Provedor de Dados SqlClient.

    2. Para Nome do servidor, introduza o nome do SQL Server.

    3. Na seção Iniciar sessão no servidor, selecione ou insira informações de autenticação.

    4. Na seção Conectar-se a um banco de dados, selecione o banco de dados de exemplo AdventureWorks.

    5. Selecione Testar conexão.

      Captura de tela de uma caixa de diálogo exibindo um botão OK e texto que indica que a conexão de teste foi bem-sucedida.

    6. Na caixa de diálogo que relata os resultados do teste de conexão, selecione OK para retornar à caixa de diálogo do Gerenciador de Conexões.

    7. Na caixa de diálogo do Connection Manager, selecione OK para retornar à caixa de diálogo Configurar ADO.NET Connection Manager.

  5. Na caixa de diálogo Configurar do Gerenciador de Conexões ADO.NET, selecione OK para retornar ao Editor de código-fonte ADO.NET.

  6. No Editor de código-fonte do ADO.NET, na lista Nome da tabela ou da vista , selecione a tabela Sales.SalesOrderDetail.

    Captura de tela do Editor de código-fonte ADO.NET. No Nome da tabela ou na lista de exibição, a tabela Sales.SalesOrderDetail está selecionada.

  7. Selecione Pré-visualização para ver as primeiras 200 linhas de dados na tabela de origem na caixa de diálogo Pré-visualização dos Resultados da Consulta.

    Captura de ecrã da caixa de diálogo Pré-visualizar Resultados da Consulta. Várias linhas de dados de vendas da tabela de origem são visíveis.

  8. Na caixa de diálogo Resultados da Consulta de Pré-visualização, selecione Fechar para regressar ao ADO.NET Editor de código-fonte.

  9. Na Editor de Origem ADO.NET, selecione OK para concluir a configuração da fonte de dados.

Conecte o adaptador de origem ao adaptador de destino

  1. Selecione o adaptador de origem na superfície de design.

  2. Selecione a seta azul que se estende do adaptador de origem e arraste-a para o editor de destino até que ela se encaixe no lugar.

    Captura de tela mostrando os adaptadores de origem e destino. Uma seta azul aponta do adaptador de origem para o adaptador de destino.

    Em um pacote SSIS típico, você usa vários outros componentes da Caixa de Ferramentas do SSIS entre a origem e o destino para reestruturar, transformar e limpar seus dados à medida que eles passam pelo fluxo de dados do SSIS. Para manter este exemplo o mais simples possível, estamos conectando a fonte diretamente ao destino.

Configurar o adaptador de destino

  1. Clique duas vezes no adaptador de destino para abrir o ADO.NET Editor de destino.

    Captura de tela do editor de destino ADO.NET. A guia Gerenciador de conexões é visível e contém controles para configurar propriedades de fluxo de dados.

  2. Na guia do Gerenciador de Conexões daEditor de Destino do ADO.NET , selecione o botão Novo ao lado da lista do Gerenciador de conexões para abrir a caixa de diálogo Configurar Gerenciador de Conexões ADO.NET e criar configurações de conexão para o banco de dados do Azure Synapse Analytics no qual este tutorial carrega dados.

  3. Na caixa de diálogo Configurar ADO.NET Gerenciador de Conexões, selecione o botão Novo para abrir a caixa de diálogo do Gerenciador de Conexões e criar uma nova conexão de dados.

  4. Na caixa de diálogo do Gerenciador de Conexões, faça o seguinte.

    1. Para Fornecedor, selecione o fornecedor de dados SqlClient.

    2. Para Nome do servidor, insira o nome do pool SQL dedicado.

    3. Na seção Iniciar sessão no servidor, selecione Usar autenticação do SQL Server e insira as informações de autenticação.

    4. Na seção Conectar a um banco de dados, selecione um banco de dados de pool SQL dedicado existente.

    5. Selecione Testar conexão.

    6. Na caixa de diálogo que relata os resultados do teste de conexão, selecione OK para retornar à caixa de diálogo do Gerenciador de Conexões.

    7. Na caixa de diálogo do Connection Manager, selecione OK para retornar à caixa de diálogo Configurar ADO.NET Connection Manager.

  5. Na caixa de diálogo Configurar Gestor de Ligações ADO.NET, selecione OK para retornar ao Editor de Destino de ADO.NET.

  6. NoEditor de Destino ADO.NET , selecione Novo ao lado da lista Usar uma tabela ou exibição para abrir a caixa de diálogo Criar Tabela para criar uma nova tabela de destino com uma lista de colunas que corresponda à tabela de origem.

    Captura de ecrã da caixa de diálogo Criar tabela. O código S Q L para criar uma tabela de destino é visível.

  7. Na caixa de diálogo Criar Tabela, faça o seguinte.

    1. Altere o nome da tabela de destino para SalesOrderDetail.

    2. Remova a coluna rowguid . O uniqueidentifier tipo de dados não é suportado no pool SQL dedicado.

    3. Altere o tipo de dados da coluna LineTotal para money. O tipo de dados decimal não é suportado no pool SQL dedicado. Para obter informações sobre tipos de dados suportados, consulte CREATE TABLE (Azure Synapse Analytics, Parallel Data Warehouse).

      Captura de tela da caixa de diálogo Criar tabela, com código para criar uma tabela chamada SalesOrderDetail com LineTotal como uma coluna de dinheiro e sem coluna rowguid.

    4. Selecione OK para criar a tabela e retornar ao ADO.NET Editor de destino.

  8. No Editor de Destino do ADO.NET, selecione o separador Mapeamentos para ver como as colunas na origem são mapeadas para colunas no destino.

    Captura de tela da guia Mapeamentos do Editor de destino ADO.NET. As linhas conectam colunas com nomes idênticos nas tabelas de origem e destino.

  9. Selecione OK para concluir a configuração do destino.

Execute o pacote para carregar os dados

Execute o pacote selecionando o botão Iniciar na barra de ferramentas ou uma das opções Executar no menu de depuração.

Os parágrafos a seguir descrevem o que você vê se criou o pacote com a segunda opção descrita neste artigo, ou seja, com um fluxo de dados contendo uma origem e um destino.

À medida que o pacote começa a ser executado, você vê rodas giratórias amarelas para indicar a atividade e o número de linhas processadas até agora.

Captura de tela mostrando os adaptadores de origem e destino com rodas giratórias amarelas sobre cada adaptador e o texto '29916 linhas' entre eles.

Quando o pacote terminar de ser executado, você verá marcas de seleção verdes para indicar o êxito e o número total de linhas de dados carregadas da origem para o destino.

Captura de tela mostrando os adaptadores de origem e destino. As marcas de seleção verdes estão sobre cada adaptador e o texto '121317 linhas' está entre elas.

Parabéns, você usou com êxito o SQL Server Integration Services para carregar dados no Azure Synapse Analytics.