Gerir pacotes com o arquivo de pacotes Azure-SSIS Integration Runtime

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Para elevar e deslocar suas cargas de trabalho locais do SQL Server Integration Services (SSIS) para a nuvem, você pode provisionar o Tempo de Execução de Integração (IR) do Azure-SSIS no Azure Data Factory (ADF). Para obter mais informações, consulte Provisionar um IR do Azure-SSIS. Um Azure-SSIS IR suporta:

  • Pacotes em execução implementados no catálogo do SSIS (SSISDB) alojado pelo servidor/Instância Gerida da Base de Dados SQL do Azure (Modelo de Implementação de Projetos)
  • Pacotes em execução implementados no sistema de ficheiros, Ficheiros do Azure ou base de dados do SQL Server (MSDB) alojados pelo Azure SQL Managed Instance (Modelo de Implementação de Pacotes)

Ao usar o Modelo de Implantação de Pacote, você pode escolher se deseja provisionar seu IR do Azure-SSIS com repositórios de pacotes. Eles fornecem uma camada de gerenciamento de pacotes sobre o sistema de arquivos, Arquivos do Azure ou MSDB hospedados pela Instância Gerenciada SQL do Azure. O armazenamento de pacotes IR do Azure-SSIS permite importar/exportar/excluir/executar pacotes e monitorar/interromper a execução de pacotes por meio do SQL Server Management Studio (SSMS), semelhante ao repositório de pacotes SSIS herdado.

Conectar-se ao Azure-SSIS IR

Depois que o IR do Azure-SSIS for provisionado, você poderá se conectar a ele para procurar seus repositórios de pacotes no SSMS.

Connect to Azure-SSIS IR

Na janela Pesquisador de Objetos do SSMS, selecione Azure-SSIS Integration Runtime no menu suspenso Conectar. Em seguida, entre no Azure e selecione a assinatura relevante, o ADF e o IR do Azure-SSIS que você provisionou com repositórios de pacotes. Seu IR do Azure-SSIS aparecerá com os nós Pacotes em Execução e Pacotes Armazenados abaixo. Expanda o nó Pacotes armazenados para ver seus armazenamentos de pacotes abaixo. Expanda seus repositórios de pacotes para ver pastas e pacotes abaixo. Você pode ser solicitado a inserir as credenciais de acesso para seus repositórios de pacotes, se o SSMS não conseguir se conectar a eles automaticamente. Por exemplo, se você expandir um repositório de pacotes sobre o MSDB, poderá ser solicitado que você se conecte primeiro à sua Instância Gerenciada SQL do Azure.

Connect to Azure SQL Managed Instance

Gerenciar pastas e pacotes

Depois de se conectar ao seu IR do Azure-SSIS no SSMS, você pode clicar com o botão direito do mouse em qualquer armazenamento, pasta ou pacote de pacotes para exibir um menu e selecionar Nova Pasta, Importar Pacote, Exportar Pacote, Excluir ou Atualizar.

Manage folders and packages

  • Selecione Nova pasta para criar uma nova pasta para pacotes importados.

  • Selecione Importar Pacote para importar pacotes do Sistema de Arquivos, do SQL Server (MSDB) ou do Repositório de Pacotes SSIS herdado para o repositório de pacotes.

    Import Package

    Dependendo do local do Pacote do qual importar, selecione o tipo de Autenticação do Servidor/relevante, insira as credenciais de acesso, se necessário, selecione o caminho do Pacote e insira o novo Nome do Pacote. Ao importar pacotes, seu nível de proteção não pode ser alterado. Para alterá-lo, use o SSDT (SQL Server Data Tools) ou dtutil o utilitário de linha de comando.

    Nota

    A importação de pacotes SSIS para armazenamentos de pacotes IR do Azure-SSIS só pode ser feita um a um e simplesmente os copiará para os arquivos subjacentes do MSDB/sistema de arquivos/Azure enquanto preserva sua versão do SQL Server/SSIS.

    Como o IR do Azure-SSIS é atualmente baseado no SQL Server 2017, a execução de pacotes de versão inferior nele os atualizará para pacotes do SSIS 2017 em tempo de execução. Não há suporte para a execução de pacotes de versões superiores.

    Além disso, como os armazenamentos de pacotes SSIS herdados estão vinculados a uma versão específica do SQL Server e acessíveis somente no SSMS para essa versão, os pacotes de versão inferior nos repositórios de pacotes SSIS herdados precisam ser exportados para o sistema de arquivos primeiro usando a versão designada do SSMS antes de poderem ser importados para os repositórios de pacotes IR do Azure-SSIS usando o SSMS 2019 ou versões posteriores.

    Como alternativa, para importar vários pacotes SSIS para armazenamentos de pacotes IR do Azure-SSIS enquanto alterna seu nível de proteção, você pode usar o utilitário de linha de comando dtutil, consulte Implantando vários pacotes com dtutil.

  • Selecione Exportar Pacote para exportar pacotes do seu repositório de pacotes para o Sistema de Arquivos, o SQL Server (MSDB) ou o Repositório de Pacotes SSIS herdado.

    Export Package

    Dependendo do local do Pacote para o qual exportar, selecione o tipo de Autenticação do Servidor/relevante, insira as credenciais de acesso, se necessário, e selecione o caminho do Pacote. Ao exportar pacotes, se eles estiverem criptografados, digite as senhas para descriptografá-los primeiro e, em seguida, você pode alterar seu nível de proteção, por exemplo, para evitar armazenar dados confidenciais ou criptografá-los ou todos os dados com chave de usuário ou senha.

    Nota

    A exportação de pacotes SSIS dos repositórios de pacotes IR do Azure-SSIS só pode ser feita um a um e, ao fazer isso sem mudar seu nível de proteção, simplesmente copiá-los, preservando sua versão do SQL Server/SSIS, caso contrário, ele os atualizará para pacotes do SSIS 2019 ou de versões posteriores.

    Como o IR do Azure-SSIS é atualmente baseado no SQL Server 2017, a execução de pacotes de versão inferior nele os atualizará para pacotes do SSIS 2017 em tempo de execução. Não há suporte para a execução de pacotes de versões superiores.

    Como alternativa, para exportar vários pacotes SSIS dos repositórios de pacotes IR do Azure-SSIS enquanto alterna seu nível de proteção, você pode usar o utilitário de linha de comando dtutil, consulte Implantando vários pacotes com dtutil.

  • Selecione Excluir para excluir pastas/pacotes existentes do seu repositório de pacotes.

  • Selecione Atualizar para mostrar pastas/pacotes recém-adicionados em seu repositório de pacotes.

Executar pacotes

Depois de se conectar ao seu IR do Azure-SSIS no SSMS, você pode clicar com o botão direito do mouse em qualquer pacote armazenado para exibir um menu e selecionar Executar pacote. Isso abrirá a caixa de diálogo Executar Utilitário de Pacote, onde você pode configurar suas execuções de pacote no IR do Azure-SSIS como Executar atividades de Pacote SSIS em pipelines do ADF.

Execute Package Utility pages 1 & 2

Execute Package Utility pages 3 & 4

As páginas Geral, Configurações, Opções de Execução e Registro em Log da caixa de diálogo Executar Utilitário de Pacote correspondem à guia Configurações da atividade Executar Pacote SSIS. Nessas páginas, você pode inserir a senha de criptografia para seu pacote e acessar informações para seu arquivo de configuração de pacote. Você também pode inserir suas credenciais e propriedades de execução de pacote, bem como as informações de acesso para sua pasta de log. A página Definir Valores da caixa de diálogo Executar Utilitário do Pacote corresponde à guia Substituições de Propriedade da atividade Executar Pacote SSIS, onde você pode inserir as propriedades do pacote existente para substituir. Para obter mais informações, consulte Executar pacotes SSIS como Executar atividades do pacote SSIS em pipelines do ADF.

Quando você seleciona o botão Executar, um novo pipeline do ADF com a atividade Executar Pacote SSIS será gerado e acionado automaticamente. Se já existir um pipeline do ADF com as mesmas configurações, ele será executado novamente e um novo pipeline não será gerado. O pipeline do ADF e a atividade Executar Pacote SSIS serão nomeados Pipeline_SSMS_YourPackageName_HashString e Activity_SSMS_YourPackageName, respectivamente.

Execute Package Utility button

Execute SSIS Package activity

Monitorar e parar de executar pacotes

Depois de se conectar ao seu IR do Azure-SSIS no SSMS, você pode expandir o nó Pacotes em Execução para ver os pacotes atualmente em execução abaixo. Clique com o botão direito do mouse em qualquer um deles para abrir um menu e selecione Parar ou Atualizar.

Monitor and stop running packages

  • Selecione Parar para cancelar o pipeline do ADF em execução que executa o pacote como atividade Executar Pacote SSIS.

  • Selecione Atualizar para mostrar os pacotes recém-executados de seus repositórios de pacotes.

Monitorar o IR do Azure-SSIS e editar repositórios de pacotes

Depois de se conectar ao seu IR do Azure-SSIS no SSMS, você pode clicar com o botão direito do mouse nele para exibir um menu e selecionar Ir para o portal do Azure Data Factory ou Atualizar.

Go to ADF portal

  • Selecione Ir para o portal do Azure Data Factory para abrir a página Runtimes de integração do hub de monitoramento do ADF, onde você pode monitorar seu IR do Azure-SSIS. No bloco REPOSITÓRIOS DE PACOTES, você pode ver o número de armazenamentos de pacotes anexados ao seu IR do Azure-SSIS. Selecionar esse número abrirá uma janela onde você pode editar os serviços vinculados do ADF que armazenam as informações de acesso para suas lojas de pacotes.

    Edit package stores

  • Selecione Atualizar para mostrar pastas/pacotes recém-adicionados em seus repositórios de pacotes e pacotes em execução de seus repositórios de pacotes.

Implantando vários pacotes com dtutil

Para elevar as cargas de trabalho do SSIS local para o SSIS no ADF enquanto mantém o Modelo de Implantação de Pacote herdado, você precisa implantar seus pacotes do sistema de arquivos, MSDB hospedado pelo SQL Server ou repositórios de pacotes SSIS herdados em Arquivos do Azure, MSDB hospedado pela Instância Gerenciada SQL do Azure ou repositórios de pacotes IR do Azure-SSIS. Ao mesmo tempo, você também deve mudar seu nível de proteção de criptografia por chave de usuário para não criptografada ou criptografia por senha, se ainda não tiver feito isso.

Você pode usar o utilitário de linha de comando dtutil que vem com a instalação do SQL Server/SSIS para implantar vários pacotes em lotes. Ele está vinculado a uma versão específica do SSIS, portanto, se você usá-lo para implantar pacotes de versão inferior sem alternar seu nível de proteção, ele simplesmente os copiará, preservando sua versão do SSIS. Se você usá-lo para implantá-los e alternar seu nível de proteção ao mesmo tempo, ele os atualizará para sua versão SSIS.

Como o IR do Azure-SSIS é atualmente baseado no SQL Server 2017, a execução de pacotes de versão inferior nele os atualizará para pacotes do SSIS 2017 em tempo de execução. Não há suporte para a execução de pacotes de versões superiores.

Consequentemente, para evitar atualizações em tempo de execução, a implantação de pacotes para execução no IR do Azure-SSIS no Modelo de Implantação de Pacote deve usar o dtutil 2017 que vem com a instalação do SQL Server/SSIS 2017. Você pode baixar e instalar o SQL Server/SSIS 2017 Developer Edition gratuito para essa finalidade. Uma vez instalado, você pode encontrar dtutil 2017 nesta pasta: YourLocalDrive:\Program Files\Microsoft SQL Server\140\DTS\Binn.

Implantando vários pacotes do sistema de arquivos local em Arquivos do Azure com dtutil

Para implantar vários pacotes do sistema de arquivos nos Arquivos do Azure e alternar seu nível de proteção ao mesmo tempo, você pode executar os seguintes comandos em um prompt de comando. Substitua todas as cadeias de caracteres específicas do seu caso.

REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey

REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes

REM Go to a local folder where you store your packages
cd YourLocalDrive:\...\YourPackageFolder

REM Run dtutil in a loop to deploy your packages from the local folder into Azure Files while switching their protection level
for %f in (*.dtsx) do dtutil.exe /FILE %f /ENCRYPT FILE;Z:\%f;2;YourEncryptionPassword

Para executar os comandos acima em um arquivo em lotes, substitua %f por %%f.

Para implantar vários pacotes de repositórios de pacotes SSIS herdados sobre o sistema de arquivos nos Arquivos do Azure e alternar seu nível de proteção ao mesmo tempo, você pode usar os mesmos comandos, mas substituir YourLocalDrive:\...\YourPackageFolder por uma pasta local usada por repositórios de pacotes SSIS herdados: YourLocalDrive:\Program Files\Microsoft SQL Server\YourSQLServerDefaultCompatibilityLevel\DTS\Packages\YourPackageFolder. Por exemplo, se o armazenamento de pacotes SSIS herdado estiver vinculado ao SQL Server 2016, vá para YourLocalDrive:\Program Files\Microsoft SQL Server\130\DTS\Packages\YourPackageFolder. Você pode encontrar o valor para YourSQLServerDefaultCompatibilityLevel em uma lista de níveis de compatibilidade padrão do SQL Server.

Se você configurou os armazenamentos de pacotes do Azure-SSIS IR sobre os Arquivos do Azure, seus pacotes implantados aparecerão neles quando você se conectar ao IR do Azure-SSIS no SSMS 2019 ou versões posteriores.

Implantando vários pacotes do MSDB no local no MSDB no Azure com dtutil

Para implantar vários pacotes do MSDB hospedados pelo SQL Server ou repositórios de pacotes SSIS herdados sobre o MSDB no MSDB hospedado pela Instância Gerenciada SQL do Azure e alternar seu nível de proteção ao mesmo tempo, você pode se conectar ao seu SQL Server no SSMS, clique com o botão direito do mouse no nó no Pesquisador de Objetos do Databases->System Databases->msdb SSMS para abrir uma janela Nova Consulta, e execute o seguinte script T-SQL. Substitua todas as strings específicas do seu caso:

BEGIN
  SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT SQL;'+f.foldername+'\'+NAME+';2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourSQLAuthUsername /DestPassword YourSQLAuthPassword'
  FROM msdb.dbo.sysssispackages p
  inner join msdb.dbo.sysssispackagefolders f
  ON p.folderid = f.folderid
END

Para usar o ponto de extremidade privado/público da sua Instância Gerenciada SQL do Azure, substitua YourSQLManagedInstanceEndpoint por YourSQLMIName.YourDNSPrefix.database.windows.net/YourSQLMIName.public.YourDNSPrefix.database.windows.net,3342, respectivamente.

O script gerará linhas de comando dtutil para todos os pacotes no MSDB que você pode multiselecionar, copiar e colar e executar em um prompt de comando.

Generate dtutil command lines

dtutil /SQL YourFolder\YourPackage1 /ENCRYPT SQL;YourFolder\YourPackage1;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT SQL;YourFolder\YourPackage2;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT SQL;YourFolder\YourPackage3;2;YourEncryptionPassword /DestServer YourSQLManagedInstanceEndpoint /DestUser YourUserName /DestPassword YourPassword

Se você configurou os armazenamentos de pacotes de IR do Azure-SSIS sobre o MSDB, seus pacotes implantados aparecerão neles quando você se conectar ao IR do Azure-SSIS no SSMS 2019 ou versões posteriores.

Implantando vários pacotes do MSDB no local em Arquivos do Azure com dtutil

Para implantar vários pacotes do MSDB hospedados pelo SQL Server ou armazenamentos de pacotes SSIS herdados sobre o MSDB nos Arquivos do Azure e alternar seu nível de proteção ao mesmo tempo, você pode se conectar ao SQL Server no SSMS, clicar com o botão direito do mouse no Databases->System Databases->msdbnó no Pesquisador de Objetos do SSMS para abrir uma janela Nova Consulta e executar o seguinte script T-SQL. Substitua todas as strings específicas do seu caso:

BEGIN
  SELECT 'dtutil /SQL '+f.foldername+'\'+NAME+' /ENCRYPT FILE;Z:\'+f.foldername+'\'+NAME+'.dtsx;2;YourEncryptionPassword' 
  FROM msdb.dbo.sysssispackages p
  inner join msdb.dbo.sysssispackagefolders f
  ON p.folderid = f.folderid
END

O script gerará linhas de comando dtutil para todos os pacotes no MSDB que você pode multiselecionar, copiar e colar e executar em um prompt de comando.

REM Persist the access credentials for Azure Files on your local machine
cmdkey /ADD:YourStorageAccountName.file.core.windows.net /USER:azure\YourStorageAccountName /PASS:YourStorageAccountKey

REM Connect Azure Files to a drive on your local machine
net use Z: \\YourStorageAccountName.file.core.windows.net\YourFileShare /PERSISTENT:Yes

REM Multiselect, copy & paste, and run the T-SQL-generated dtutil command lines to deploy your packages from MSDB on premises into Azure Files while switching their protection level
dtutil /SQL YourFolder\YourPackage1 /ENCRYPT FILE;Z:\YourFolder\YourPackage1.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage2 /ENCRYPT FILE;Z:\YourFolder\YourPackage2.dtsx;2;YourEncryptionPassword
dtutil /SQL YourFolder\YourPackage3 /ENCRYPT FILE;Z:\YourFolder\YourPackage3.dtsx;2;YourEncryptionPassword

Se você configurou os armazenamentos de pacotes do Azure-SSIS IR sobre os Arquivos do Azure, seus pacotes implantados aparecerão neles quando você se conectar ao IR do Azure-SSIS no SSMS 2019 ou versões posteriores.

Você pode reexecutar/editar os pipelines do ADF gerados automaticamente com as atividades Executar Pacote SSIS ou criar novos no portal do ADF. Para obter mais informações, consulte Executar pacotes SSIS como Executar atividades do pacote SSIS em pipelines do ADF.