Extensão do Azure DevOps para Ferramentas de DevOps do SSIS (SQL Server Integration Services)
A extensão Ferramentas de DevOps do SSIS está disponível no Marketplace do Azure DevOps. O SSIS DevOps dá suporte ao Azure DevOps Services, ao Azure DevOps Server 2019 e versões superiores.
Caso você não tenha uma organização do Azure DevOps, primeiro, inscreva-se no Azure Pipelines e, em seguida, adicione a extensão Ferramentas de DevOps do SSIS seguindo as etapas.
As Ferramentas de DevOps do SSIS incluem a tarefa Build do SSIS, a tarefa de versão Implantação do SSIS e a tarefa de Configuração de Catálogo do SSIS.
A tarefa Build do SSIS dá suporte à criação de arquivos dtproj no modelo de implantação de projeto ou no modelo de implantação de pacote.
A tarefa Implantação do SSIS dá suporte à implantação de arquivos ispac únicos ou múltiplos no catálogo local do SSIS e no Azure-SSIS IR ou arquivos SSISDeploymentManifest e os arquivos associados localmente ou no compartilhamento de arquivo do Azure.
A tarefa Configuração de Catálogo do SSIS dá suporte à configuração de pasta/projeto/ambiente do Catálogo do SSIS com um arquivo de configuração no formato JSON. Essa tarefa é compatível com os seguintes cenários:
- Pasta
- Criar pasta.
- Atualizar descrição da pasta.
- Projeto
- Configurar o valor dos parâmetros, há suporte para o valor literal e o valor referenciado.
- Adicionar referências de ambiente.
- Ambiente
- Criar ambiente.
- Atualizar descrição do ambiente.
- Criar ou atualizar variável de ambiente.
- Pasta
Tarefa Build do SSIS
Propriedades
Caminho do projeto
Caminho da pasta do projeto ou do arquivo a ser compilado. Se um caminho de pasta for especificado, a tarefa Build do SSIS pesquisará todos os arquivos dtproj de maneira recursiva nessa pasta e os criará.
O caminho do projeto não pode estar vazio, definido como ., para criar na pasta raiz do repositório.
Configuração do projeto
Nome da configuração de projeto a ser usada para o build. Se ele não for fornecido, usará como padrão a primeira configuração de projeto definida em cada arquivo dtproj.
Caminho de saída
Caminho de uma pasta separada para salvar os resultados do build, que podem ser publicados como artefatos de compilação por meio da tarefa publicar artefatos de compilação.
Limitações e problemas conhecidos
A tarefa Build do SSIS depende do Visual Studio e do Designer SSIS, que é obrigatório nos agentes de build. Portanto, para executar a tarefa Build do SSIS no pipeline:
- para agentes hospedados pela Microsoft, você precisa escolher uma imagem disponível que inclua a extensão do SQL Server Integration Services e Visual Studio, por exemplo, windows-2022. Os detalhes referem-se à documentação de agentes hospedados pela Microsoft para softwares incluídos em imagens disponíveis.
- para agentes auto-hospedados, instale o designer do SSIS e Visual Studio (VS2022 + extensão de projetos SSIS ou VS2019 + extensão de projetos SSIS) nos agentes auto-hospedados.
Para criar projetos do SSIS usando componentes prontos para uso (incluindo o feature pack do SSIS para o Azure e outros componentes de terceiros), os componentes prontos para uso precisam ser instalados no computador em que o agente de pipeline está em execução. Para o agente hospedado pela Microsoft, o usuário pode adicionar uma tarefa Script do PowerShell ou uma tarefa Script de Linha de Comando para baixar e instalar os componentes antes de executar a tarefa Build do SSIS. Confira abaixo o exemplo de script do PowerShell para instalar o Feature Pack do Azure:
wget -Uri https://download.microsoft.com/download/E/E/0/EE0CB6A0-4105-466D-A7CA-5E39FA9AB128/SsisAzureFeaturePack_2017_x86.msi -OutFile AFP.msi
start -Wait -FilePath msiexec -Args "/i AFP.msi /quiet /l* log.txt"
cat log.txt
- Não há suporte para o nível de proteção EncryptSensitiveWithPassword e EncryptAllWithPassword na tarefa Build do SSIS. Verifique se todos os projetos do SSIS na base de código não estão usando esses dois níveis de proteção ou se a tarefa Build do SSIS interromperá a resposta e atingirá o tempo limite durante a execução.
Tarefa Build do SSIS versão 1.*
Aprimoramentos na versão 1.*:
Remover a dependência no Visual Studio e no designer do SSIS. A tarefa build pode ser executada no agente hospedado pela Microsoft ou em um agente auto-hospedado com sistema operacional Windows e .NET Framework 4.6.2 ou superior.
Não há necessidade de instalar componentes prontos para uso.
Suporte ao nível de proteção EncryptionWithPassword e EncryptionAllWithPassword.
Limitações e problemas conhecidos
- A tarefa build do SSIS versão 1.* não dá suporte à criação do projeto SSIS que contém o pacote SSIS com assinatura digital.
Somente as propriedades da versão 1.*
Senha do Projeto
Senha do projeto do SSIS e seus pacotes. Esse argumento só é válido quando o nível de proteção do projeto e dos pacotes do SSIS é EncryptSensitiveWithPassword ou EncryptAllWithPassword. Para o modelo de implantação de pacote, todos os pacotes devem compartilhar a mesma senha especificada por esse argumento.
Remover dados confidenciais
Converter o nível de proteção do projeto do SSIS para DontSaveSensitve se esse valor for verdadeiro. Quando o nível de proteção é EncryptSensitiveWithPassword ou EncryptAllWithPassword, o argumento Senha do Projeto deve estar definido corretamente. Essa opção só é válida para o modelo de implantação de projeto.
Tarefa Implantação do SSIS
Propriedades
Caminho de origem
O caminho dos arquivos ISPAC ou SSISDeploymentManifest de origem que você deseja implantar. Esse caminho pode ser um caminho de pasta ou um caminho de arquivo.
Tipo de destino
Tipo do destino. Atualmente, a tarefa Implantação do SSIS dá suporte a dois tipos:
- Sistema de arquivos: Implante arquivos SSISDeploymentManifest e os arquivos associados em um sistema de arquivos especificado. Há suporte para o compartilhamento de arquivo local e do Azure.
- SSISDB: Implante arquivos ISPAC em um catálogo do SSIS especificado, que pode ser hospedado no SQL Server local ou no Azure-SSIS Integration Runtime.
Servidor de destino
Nome do Mecanismo de Banco de Dados de destino. Pode ser o nome de um SQL Server local, de um Banco de Dados SQL do Azure ou de uma Instância Gerenciada de SQL do Azure. Essa propriedade só é visível quando o tipo de destino é SSISDB.
Caminho de destino
Caminho da pasta de destino no qual o arquivo de origem será implantado. Por exemplo:
- /SSISDB/<folderName>
- \\<machineName>\<shareFolderName>\<optionalSubfolderName>
A tarefa Implantação do SSIS criará a pasta e a subpasta caso elas não existam.
Tipo de autenticação
Tipo de autenticação para acessar o servidor de destino especificado. Essa propriedade só é visível quando o tipo de destino é SSISDB. De modo geral, os tipos de autenticação abaixo têm suporte:
- Autenticação do Windows
- Autenticação do SQL Server
- Active Directory – Senha
- Active Directory – Integrado
Porém, o suporte ao tipo de autenticação específico depende do tipo de servidor de destino e do tipo de agente. A matriz de suporte detalhado é listada na tabela abaixo.
Tipo de servidor de destino | Agente hospedado pela Microsoft | Agente auto-hospedado |
---|---|---|
SQL Server local ou VM | N/D | Autenticação do Windows |
SQL do Azure | Autenticação do SQL Server Active Directory – Senha |
Autenticação do SQL Server Active Directory – Senha Active Directory – Integrado |
Nome de domínio
Nome de domínio para acessar o sistema de arquivos especificado. Essa propriedade só é visível quando o tipo de destino é sistema de arquivos. Você poderá deixá-la vazia quando a conta de usuário usada para executar o agente auto-hospedado receber acesso de leitura/gravação ao caminho de destino especificado.
Nome de Usuário
Nome de usuário para acessar o SSISDB ou o sistema de arquivos especificado. Essa propriedade é visível quando o tipo de destino é sistema de arquivos ou o tipo de autenticação é Autenticação do SQL Server ou Active Directory: senha. Você poderá deixá-la vazia quando o tipo de destino for sistema de arquivos e a conta de usuário usada para executar o agente auto-hospedado receber acesso de leitura/gravação ao caminho de destino especificado.
Senha
Senha para acessar o SSISDB ou o sistema de arquivos especificado. Essa propriedade é visível quando o tipo de destino é sistema de arquivos ou o tipo de autenticação é Autenticação do SQL Server ou Active Directory: senha. Você poderá deixá-la vazia quando o tipo de destino for sistema de arquivos e a conta de usuário usada para executar o agente auto-hospedado receber acesso de leitura/gravação ao caminho de destino especificado.
Substituir projetos existentes ou arquivos SSISDeploymentManifest com os mesmos nomes
Especifique se deseja substituir os projetos existentes ou os arquivos SSISDeploymentManifest com os mesmos nomes. Se a opção for 'Não', a tarefa Implantação do SSIS vai ignorar a implantação desses projetos ou desses arquivos.
Continuar a implantação quando ocorrer um erro
Especifique se deseja continuar a implantação para projetos ou arquivos restantes quando ocorrer um erro. Se a opção for 'Não', a tarefa Implantação do SSIS será interrompida imediatamente quando ocorrer um erro.
Limitações e problemas conhecidos
Atualmente, a tarefa Implantação do SSIS não dá suporte aos seguintes cenários:
- Configuração do ambiente no catálogo do SSIS.
- Implantação do ISPAC no Azure SQL Server ou na Instância Gerenciada de SQL do Azure que só permite a autenticação multifator.
- Implantação de pacotes no Repositório de Pacotes SSIS ou MSDB.
- Se você instalar a extensão de Ferramentas de DevOps do SSIS no Azure DevOps Server, poderá ver a mensagem "O tamanho do pacote de extensão excede o tamanho máximo do pacote". Para resolver o problema, realize as seguintes etapas:
- Conecte-se à instância do SQL Server local e selecione o banco de dados Gallery_Configuration.
- Execute a consulta
INSERT INTO dbo.tbl_RegistryItems VALUES (1,'#\Configuration\Service\Gallery\LargeExtensionUpload\SSIS\','MaxPackageSizeMB\',50)
. Altere50
para um número mais alto se a extensão for maior que 50 MBs. - Depois de executar a consulta, reinicie os Serviços de Informações da Internet. Tente carregar a extensão novamente.
- Se o erro persistir, entre em contato com a equipe de suporte do SQL Server.
Tarefa Implantação do SSIS versão 1.*
Aprimoramentos na versão 1.*:
- Suporte ao nível de proteção EncryptionWithPassword e EncryptionAllWithPassword.
Somente as propriedades da versão 1.*
Senha do Projeto
Senha para descriptografar os arquivos ISPAC ou DTSX. Esse argumento só é válido quando o nível de proteção é EncryptSensitiveWithPassword ou EncryptAllWithPassword.
Tarefa de Configuração do Catálogo do SSIS
Propriedades
Origem do arquivo de configuração
Origem do arquivo JSON de configuração do catálogo do SSIS. Pode ser "Caminho do arquivo" ou "Embutido".
Confira os detalhes de como definir a configuração do JSON:
- Confira um exemplo de JSON de configuração embutido.
- Verifique o esquema JSON.
Caminho do arquivo JSON de configuração
Caminho do arquivo JSON de configuração do catálogo do SSIS. Essa propriedade só é visível ao selecionar "Caminho do arquivo" como origem do arquivo de configuração.
Para usar variáveis de pipeline no arquivo JSON de configuração, você precisa adicionar uma Tarefa de Transformação de Arquivo antes dessa tarefa para substituir valores de configuração por variáveis de pipeline. Para obter mais informações, confira Substituição de variável JSON.
JSON de configuração embutido
JSON embutido de configuração do catálogo do SSIS. Essa propriedade só é visível ao selecionar "Embutido" como origem do arquivo de configuração. As variáveis de pipeline podem ser usadas diretamente.
Reverter configuração quando ocorrer um erro
Se a configuração feita por esse erro deve ser revertida quando um erro ocorrer.
Servidor de destino
Nome do Mecanismo de Banco de Dados de destino. Pode ser o nome de um SQL Server local, de um Banco de Dados SQL do Azure ou de uma Instância Gerenciada de SQL do Azure.
Tipo de autenticação
Tipo de autenticação para acessar o servidor de destino especificado. De modo geral, os tipos de autenticação abaixo têm suporte:
- Autenticação do Windows
- Autenticação do SQL Server
- Active Directory – Senha
- Active Directory – Integrado
Porém, o suporte ao tipo de autenticação específico depende do tipo de servidor de destino e do tipo de agente. A matriz de suporte detalhado é listada na tabela abaixo.
Tipo de servidor de destino | Agente hospedado pela Microsoft | Agente auto-hospedado |
---|---|---|
SQL Server local ou VM | N/D | Autenticação do Windows |
SQL do Azure | Autenticação do SQL Server Active Directory – Senha |
Autenticação do SQL Server Active Directory – Senha Active Directory – Integrado |
Nome de Usuário
Nome de usuário para acessar o SQL Server de destino. Essa propriedade é visível apenas quando o tipo de Autenticação é Autenticação do SQL Server ou Active Directory: Senha.
Senha
Senha para acessar o SQL Server de destino. Essa propriedade é visível apenas quando o tipo de Autenticação é Autenticação do SQL Server ou Active Directory: Senha.
Definir JSON de configuração
O esquema JSON de configuração tem três camadas:
- catálogo
- folder
- projeto e ambiente
Um exemplo de JSON de configuração embutido
{
"folders": [
{
"name": "devopsdemo",
"description": "devops demo folder",
"projects": [
{
"name": "catalog devops",
"parameters": [
{
"name": "password",
"container": "Package.dtsx",
"value": "passwd",
"valueType": "referenced"
},
{
"name": "serverName",
"container": "catalog devops",
"value": "localhost",
"valueType": "literal"
}
],
"references": [
{
"environmentName": "test",
"environmentFolder": "devopsdemo"
},
{
"environmentName": "test",
"environmentFolder": "."
}
]
}
],
"environments": [
{
"name": "test",
"description": "test",
"variables": [
{
"name": "passwd",
"type": "string",
"description": "",
"value": "$(SSISDBServerAdminPassword)",
"sensitive": true
},
{
"name": "serverName",
"type": "string",
"description": "",
"value": "$(TargetServerName)",
"sensitive": false
}
]
}
]
}
]
}
JSON schema
Atributos do catálogo
Propriedade | Descrição | Observações |
---|---|---|
pastas | Uma matriz de objetos de pasta. Cada objeto contém informações de configuração para uma pasta de catálogo. | Confira Atributos da pasta para ver o esquema de um objeto de pasta. |
Atributos da pasta
Propriedade | Descrição | Observações |
---|---|---|
name | Nome da pasta do catálogo. | A pasta será criada se não existir. |
descrição | Descrição da pasta do catálogo. | O valor de nulo será ignorado. |
projects | Uma matriz de objetos do projeto. Cada objeto contém informações de configuração para um projeto. | Confira Atributos de projeto para ver o esquema de um objeto de projeto. |
environments | Uma matriz de objetos de ambiente. Cada objeto contém informações de configuração para um ambiente. | Confira Atributos de ambiente para ver o esquema de um objeto de ambiente. |
Atributos de projeto
Propriedade | Descrição | Observações |
---|---|---|
name | Nome do projeto. | O objeto do projeto será ignorado se o projeto não existir na pasta pai. |
parâmetros | Uma matriz de objetos de parâmetro. Cada objeto contém informações de configuração para um parâmetro. | Confira Atributos do parâmetro para ver o esquema de um objeto de parâmetro. |
referências | Uma matriz de objetos de referência. Cada objeto representa uma referência de ambiente para o projeto de destino. | Confira Atributos de referência para ver um esquema de objeto de referência. |
Atributos de parâmetro
Propriedade | Descrição | Observações |
---|---|---|
name | Nome do parâmetro. | |
contêiner | Contêiner do parâmetro. | |
value | Valor do parâmetro. | |
valueType | Tipo do valor do parâmetro. | Os tipos válidos são: literal: a atributo valor representa um valor literal. referenciado: o atributo valor representa uma referência a uma variável de ambiente. |
Atributo de referência
Propriedade | Descrição | Observações |
---|---|---|
environmentFolder | O nome da pasta do ambiente. | A pasta será criada se não existir. O valor pode ser ".", que representa a pasta pai do projeto, que faz referência ao ambiente. |
environmentName | Nome do ambiente referenciado. | O ambiente especificado será criado se não existir. |
Atributos de ambiente
Propriedade | Descrição | Observações |
---|---|---|
name | Nome do ambiente. | O ambiente será criado se não existir. |
descrição | Descrição do ambiente. | O valor de nulo será ignorado. |
variáveis | Uma matriz de objetos de variável. | Cada objeto contém informações de configuração para uma variável de ambiente. Confira Atributos de variáveis para ver o esquema de um objeto de variável. |
Atributos de variáveis
Propriedade | Descrição | Observações |
---|---|---|
name | Nome da variável de ambiente. | A variável de ambiente será criada se não existir. |
type | Tipo de dados da variável de ambiente. | Os tipos válidos são: booleano byte datetime decimal double int16 int32 int64 sbyte single cadeia de caracteres uint32 uint64 |
descrição | Descrição da variável de ambiente. | O valor de nulo será ignorado. |
value | Valor da variável de ambiente. | Esse atributo dá suporte a qualquer valor JSON booliano, de número e cadeia de caracteres válido. O valor será convertido para o tipo especificado pelo atributo type. Ocorrerá um erro se houver falha na conversão. O valor de null é inválido. A tarefa ignorará esse objeto de variável de ambiente e emitir um aviso. |
sensitive | Se o valor da variável de ambiente é confidencial. | As entradas válidas são: true false |
Notas de versão
Versão 1.0.6
Data de lançamento: 1º de setembro de 2021
- Versão de GA (disponibilidade geral).
Versão 1.0.5
Data de lançamento: 2 de junho de 2021
- Corrigido um problema em que, às vezes, a Tarefa de Build do SSIS da versão 1.* falhava ao compilar projetos/pacotes com o nível de proteção EncryptSensitiveWithPassword ou EncryptAllWithPassword com o erro "O IV (vetor de inicialização) especificado não corresponde ao tamanho do bloco para este algoritmo".
- Removido o conteúdo JSON no log da tarefa de Configuração do Catálogo do SSIS quando a "Origem do arquivo de configuração" é "Caminho do arquivo".
Versão 1.0.4
Data de lançamento: 21 de abril de 2021
- Tarefa Build do SSIS versão 1.* (Visualização)
- Remover a dependência no Visual Studio e no designer do SSIS. A tarefa build pode ser executada no agente hospedado pela Microsoft ou em um agente auto-hospedado com sistema operacional Windows e .NET Framework 4.6.2 ou superior.
- Não há necessidade de instalar componentes prontos para uso.
- Suporte ao nível de proteção EncryptionWithPassword e EncryptionAllWithPassword.
- Tarefa Implantação do SSIS versão 1.* (Visualização)
- Suporte ao nível de proteção EncryptionWithPassword e EncryptionAllWithPassword.
Versão 1.0.3
Data de lançamento: 21 de outubro de 2020
- Permitir a especificação de sufixo da cadeia de conexão para as tarefas Implantação do SSIS e Configuração do Catálogo do SSIS.
Versão 1.0.2
Data de lançamento: 26 de maio de 2020
- Foi corrigido um problema em que a tarefa de Configuração do Catálogo do SSIS poderia falhar em alguns casos após a conclusão do trabalho de configuração.
Versão 1.0.1
Data de lançamento: 9 de maio de 2020
- Corrigido um problema em que a tarefa de compilação do SSIS sempre compilava toda a solução, mesmo se apenas um único arquivo dtproj estivesse especificado como o caminho do projeto.
Versão 1.0.0
Data de lançamento: 8 de maio de 2020
- Versão de GA (disponibilidade geral).
- Adicionada uma restrição da versão mínima do .NET Framework no agente. Atualmente, a versão mínima do .NET Framework é 4.6.2.
- Descrição refinada da tarefa de Build do SSIS e da tarefa de implantação do SSIS.
Versão 0.2.0, versão prévia
Data de lançamento: 31 de março de 2020
- Adicionar Tarefa de Configuração do Catálogo do SSIS.
Versão 0.1.3 Versão prévia
Data de lançamento: 19 de janeiro de 2020
- Corrigido um problema que impedia a implantação do ispac quando seu nome de arquivo original era alterado.
Versão 0.1.2 Versão prévia
Data de lançamento: 13 de janeiro de 2020
- Foram adicionadas informações de exceção mais detalhadas no log da tarefa de implantação do SSIS quando o tipo de destino é SSISDB.
- Foi corrigido o caminho de destino de exemplo no texto de ajuda do caminho de destino da propriedade da tarefa de implantação do SSIS.
Versão 0.1.1 versão prévia
Data de lançamento: 6 de janeiro de 2020
- Foi adicionada uma restrição do requisito mínimo de versão do agente. Atualmente, a versão mínima do agente deste produto é 2.144.0.
- Foram corrigidos alguns textos de exibição incorretos para a tarefa de implantação do SSIS.
- Refinamento de algumas mensagens de erro.
Versão 0.1.0 Versão prévia
Data de lançamento: 5 de dezembro de 2019
Versão inicial das Ferramentas de DevOps do SSIS. Essa é uma versão prévia.
Próximas etapas
- Obter a extensão DevOps do SSIS