Share via


Gerenciar pacotes com o repositório de pacotes do Azure-SSIS Integration Runtime

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

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

Para aumentar e mudar as cargas de trabalho do SSIS (SQL Server Integration Services) local para a nuvem, você pode provisionar o Azure-SSIS IR (Integration Runtime) no ADF (Azure Data Factory). Para obter mais informações, confira Provisionar um Azure-SSIS IR. Um Azure-SSIS IR dá suporte a:

  • Execução de pacotes implantados no catálogo do SSIS (SSISDB) hospedado por uma Instância Gerenciada/servidor do Banco de Dados SQL do Azure (modelo de implantação de projeto)
  • Execução de pacotes implantados no sistema de arquivos, nos Arquivos do Azure ou no banco de dados do SQL Server (MSDB) hospedado pela Instância Gerenciada de SQL do Azure (modelo de implantação de pacote)

Ao usar o modelo de implantação de pacote, você pode escolher se deseja provisionar o Azure-SSIS IR com repositório de pacotes. Eles fornecem uma camada de gerenciamento de pacotes sobre o sistema de arquivos, Arquivos do Azure ou MSDB hospedado pela Instância Gerenciada de SQL do Azure. O repositório de pacotes do Azure-SSIS IR permite que você importe/exporte/exclua/execute pacotes e monitore/interrompa a execução de pacotes por meio do SSMS (SQL Server Management Studio) de modo semelhante ao repositório de pacotes SSIS herdado.

Conectar-se ao Azure-SSIS IR

Quando o Azure-SSIS IR for provisionado, você poderá se conectar a ele para procurar os armazenamentos 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. Depois, entre no Azure e selecione a assinatura, o ADF e o Azure-SSIS IR relevantes que você provisionou com os repositórios de pacotes. O Azure-SSIS IR será exibido com os nós Executando pacotes e Pacotes armazenados embaixo. Expanda o nó Pacotes armazenados para ver os repositórios de pacotes embaixo. Expanda os repositórios de pacotes para ver as pastas e os pacotes embaixo. Você pode ser solicitado a inserir as credenciais de acesso para os repositórios de pacotes, caso o SSMS não consiga se conectar a eles automaticamente. Por exemplo, se você expandir um repositório de pacotes sobre o MSDB, poderá ser solicitado a se conectar primeiro à Instância Gerenciada de SQL do Azure.

Connect to Azure SQL Managed Instance

Gerenciar pastas e pacotes

Depois de se conectar ao Azure-SSIS IR no SSMS, você pode clicar com o botão direito do mouse em qualquer repositórios de pacotes, pastas ou pacotes para exibir um menu e selecionar Nova pasta, Importar pacote, Exportar pacote, Excluirou 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, SQL Server (MSDB) ou Armazenar pacote SSIS herdado no 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 pacotee insira o novo Nome do pacote. Ao importar pacotes, o nível de proteção não pode ser alterado. Para alterá-lo, use o SSDT (SQL Server Data Tools) ou o utilitário de linha de comando dtutil.

    Observação

    A importação de pacotes do SSIS para os repositórios de pacotes do Azure-SSIS IR só pode ser feita uma por vez e os copiará para Arquivos do Azure/sistema de arquivos/MSDB subjacente, preservando a versão do SQL Server/SSIS.

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

    Além disso, como os repositórios de pacotes SSIS herdados são associados 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 em repositórios de pacotes SSIS herdados precisam ser exportados primeiro para o sistema de arquivos usando a versão do SSMS designada antes que possam ser importados para os repositórios de pacotes do Azure-SSIS IR usando o SSMS 2019 ou versões mais recentes.

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

  • Selecione Exportar pacote para exportar pacotes do repositório de pacotes no Sistema de arquivos, SQL Server (MSDB) ou Repositório de pacotes SSIS herdado.

    Export Package

    Dependendo do Local do pacote do 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, insira as senhas para descriptografá-los primeiro. Depois, altere o nível de proteção deles, por exemplo, para evitar armazenar dados confidenciais ou para criptografá-los ou todos os dados com a chave de usuário ou senha.

    Observação

    A exportação de pacotes SSIS dos repositórios de pacotes do Azure-SSIS IR só pode ser feita uma por vez. Ao fazer isso sem alternar o nível de proteção, eles serão simplesmente copiados preservando a versão do SQL Server/SSIS, caso contrário, eles serão atualizados para os pacotes SSIS 2019 ou versões posteriores.

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

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

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

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

Executar pacotes

Depois de se conectar ao Azure-SSIS IR no SSMS, você pode clicar com o botão direito do mouse em todos os pacotes armazenados para exibir um menu e selecionar Executar pacote. Isso abrirá a caixa de diálogo Utilitário de Execução de Pacotes, onde você pode configurar as execuções de pacote no Azure-SSIS IR como atividades de Executar 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 Registrar em log da caixa de diálogo Utilitário de Execução de Pacotes correspondem à guia Configurações da atividade Executar Pacote do SSIS. Nessas páginas, você pode inserir a senha de criptografia para o pacote e as informações de acesso do arquivo de configuração do pacote. Você também pode inserir as credenciais e propriedades de execução de pacote, bem como as informações de acesso para a pasta de log. A página Definir valores da caixa de diálogo Utilitário de Execução de Pacotes corresponde à guia Substituições de propriedade da atividade Executar Pacote SSIS, na qual você pode inserir as propriedades de pacote existentes que deseja substituir. Para obter mais informações, confira Executar pacotes do SSIS como atividades Executar 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 disparado automaticamente. Se um pipeline do ADF com as mesmas configurações já existir, ele será executado novamente e não será gerado um novo pipeline. 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 interromper pacotes em execução

Depois de se conectar ao Azure-SSIS IR no SSMS, você pode expandir o nó Pacotes em execução para ver os pacotes em execução no momento. Clique com o botão direito do mouse em qualquer um deles para exibir 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 a atividade Executar Pacote SSIS.

  • Selecione Atualizar para mostrar pacotes em execução recente nos repositórios de pacotes.

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

Depois de se conectar ao Azure-SSIS IR no SSMS, você pode clicar com o botão direito do mouse nele para exibir um menu e selecione 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 o Azure-SSIS IR. No bloco REPOSITÓRIOS DE PACOTES, você verá o número de repositórios de pacotes anexados ao Azure-SSIS IR. A seleção desse número exibirá uma janela para editar os serviços vinculados do ADF que armazenam as informações de acesso para os repositórios de pacotes.

    Edit package stores

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

Implantação de vários pacotes com o dtutil

Para aumentar e deslocar 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 os pacotes do sistema de arquivos, MSDB hospedado por SQL Server ou repositórios de pacotes SSIS herdados em Arquivos do Azure, MSDB hospedado pela Instância Gerenciada de SQL do Azure ou os repositórios de pacotes do Azure-SSIS IR. Ao mesmo tempo, você também deve trocar o nível de proteção de criptografia por chave de usuário para não criptografado 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á associado a uma versão específica do SSIS, portanto, se você usá-lo para implantar pacotes de versão inferior sem trocar o nível de proteção, ele simplesmente os copiará preservando a versão do SSIS. Se você usá-lo para implantá-los e também mudar o nível de proteção, ele os atualizará para a versão do SSIS.

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

Consequentemente, para evitar atualizações em tempo de execução, a implantação de pacotes para execução no Azure-SSIS IR 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 a Edição gratuita do Desenvolvedor SQL Server/SSIS 2017 para essa finalidade. Uma vez instalado, você pode encontrar o dtutil 2017 na pasta YourLocalDrive:\Program Files\Microsoft SQL Server\140\DTS\Binn.

Implantação de vários pacotes do sistema de arquivos local em Arquivos do Azure com o dtutil

Para implantar vários pacotes do sistema de arquivos em Arquivos do Azure e também trocar o nível de proteção, você pode executar os comandos a seguir 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 lote, substitua %f por %%f.

Para implantar vários pacotes de repositórios de pacotes SSIS herdados sobre o sistema de arquivos em Arquivos do Azure e também trocar o nível de proteção, 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 repositório de pacotes SSIS herdado estiver associado ao SQL Server 2016, vá para YourLocalDrive:\Program Files\Microsoft SQL Server\130\DTS\Packages\YourPackageFolder. Encontre o valor de YourSQLServerDefaultCompatibilityLevel em uma lista de níveis de compatibilidade padrão do SQL Server.

Se você tiver configurado os repositórios de pacotes do Azure-SSIS IR sobre os Arquivos do Azure, os pacotes implantados aparecerão quando você se conectar ao Azure-SSIS IR no SSMS 2019 ou em versões posteriores.

Implantação de vários pacotes do MSDB no local no MSDB no Azure com o dtutil

Para implantar vários pacotes do MSDB hospedado por SQL Server ou repositórios de pacotes SSIS herdado sobre o MSDB no MSDB hospedado pela Instância Gerenciada de SQL do Azure e mudar o 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 nó Databases->System Databases->msdb no Pesquisador de Objetos do SSMS para abrir uma janela Nova consulta e executar o seguinte script T-SQL. Substitua todas as cadeias de caracteres 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 Instância Gerenciada de 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 fazer seleção múltipla, 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 tiver configurado os repositórios de pacotes do Azure-SSIS IR sobre MSDB, os pacotes implantados aparecerão quando você se conectar ao Azure-SSIS IR no SSMS 2019 ou em versões posteriores.

Implantação de vários pacotes do MSDB no local em Arquivos do Azure com o dtutil

Para implantar vários pacotes do MSDB hospedado por SQL Server ou repositórios de pacotes SSIS herdado sobre o MSDB nos Arquivos do Azure e mudar o 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 nó Databases->System Databases->msdb no Pesquisador de Objetos do SSMS para abrir uma janela Nova consulta e executar o seguinte script T-SQL. Substitua todas as cadeias de caracteres 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 fazer seleção múltipla, 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ê tiver configurado os repositórios de pacotes do Azure-SSIS IR sobre os Arquivos do Azure, os pacotes implantados aparecerão quando você se conectar ao Azure-SSIS IR no SSMS 2019 ou em versões posteriores.

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