Partilhar via


Pacotes de Serviços de Integração (SSIS)

Aplica-se a:SQL Server SSIS Integration Runtime em Azure Data Factory

Um pacote é uma coleção organizada de ligações, elementos de fluxo de controlo, elementos de fluxo de dados, gestores de eventos, variáveis, parâmetros e configurações, que se montam usando as ferramentas de design gráfica que o SQL Server Integration Services fornece, ou se constrói programaticamente. Depois guarda o pacote completo no SQL Server, no SSIS Package Store ou no sistema de ficheiros, ou pode implementar o projeto ssISnoversion no servidor SSIS. O pacote é a unidade de trabalho que é recuperada, executada e guardada.

Quando crias um pacote pela primeira vez, é um objeto vazio que não faz nada. Para adicionar funcionalidade a um pacote, adiciona-se um fluxo de controlo e, opcionalmente, um ou mais fluxos de dados ao pacote.

O diagrama seguinte mostra um pacote simples que contém um fluxo de controlo com uma tarefa de Fluxo de Dados, que por sua vez contém um fluxo de dados.

Um pacote com um fluxo de controlo e um fluxo de dados

Depois de criar o pacote básico, pode adicionar funcionalidades avançadas como registo e variáveis para estender a funcionalidade do pacote. Para mais informações, consulte a secção sobre Objetos que Estendem a Funcionalidade de Pacotes.

O pacote concluído pode então ser configurado definindo propriedades ao nível do pacote que implementem segurança, permitam o reinício de pacotes a partir de checkpoints ou incorporem transações no fluxo de trabalho do pacote. Para mais informações, consulte a secção sobre Propriedades que Suportam Funcionalidades Estendidas.

Conteúdo de um pacote

Tarefas e contentores (controlo do fluxo). Um fluxo de controlo consiste numa ou mais tarefas e contentores que são executados quando o pacote é executado. Para controlar a ordem ou definir as condições para executar a próxima tarefa ou contentor no fluxo de controlo do pacote, utiliza-se restrições de precedência para ligar as tarefas e contentores num pacote. Um subconjunto de tarefas e contentores também pode ser agrupado e executado repetidamente como uma unidade dentro do fluxo de controlo do pacote. Para obter mais informações, consulte Fluxo de controle.

Fontes e destinos de dados (fluxo de dados). Um fluxo de dados consiste nas fontes e destinos que extraem e carregam dados, nas transformações que modificam e estendem os dados, e nos caminhos que ligam fontes, transformações e destinos. Antes de poder adicionar um fluxo de dados a um pacote, o fluxo de controlo do pacote deve incluir uma tarefa de Fluxo de Dados. A tarefa de Fluxo de Dados é o executável dentro do pacote SSIS que cria, ordena e executa o fluxo de dados. Uma instância separada do motor de fluxo de dados é aberta para cada tarefa de Fluxo de Dados num pacote. Para mais informações, consulte Tarefa de Fluxo de Dados e Fluxo de Dados.

Gestores de conexões (conexões) Um pacote normalmente inclui pelo menos um gestor de ligações. Um gestor de ligação é uma ligação entre um pacote e uma fonte de dados que define a cadeia de ligação para aceder aos dados que as tarefas, transformações e gestores de eventos do pacote utilizam. Os Serviços de Integração incluem tipos de ligação para fontes de dados como ficheiros de texto e XML, bases de dados relacionais e bases de dados e projetos dos Serviços de Análise. Para obter mais informações, consulte Ligações do Integration Services (SSIS).

Objetos que estendem a funcionalidade do pacote

Os pacotes podem incluir objetos adicionais que fornecem funcionalidades avançadas ou estendem funcionalidades existentes, como gestores de eventos, configurações, registos e variáveis.

Gestores de Eventos

Um gestor de eventos é um fluxo de trabalho que corre em resposta aos eventos gerados por um pacote, tarefa ou contentor. Por exemplo, pode usar um gestor de eventos para verificar o espaço em disco quando ocorre um evento pré-execução ou se ocorre um erro, e enviar uma mensagem de e-mail que reporta o espaço disponível ou informação de erro a um administrador. Um gestor de eventos é construído como um pacote, com um fluxo de controlo e fluxos de dados opcionais. Os gestores de eventos podem ser adicionados a tarefas individuais ou contentores no pacote. Para mais informações, consulte Gestores de Eventos dos Serviços de Integração (SSIS).

Configurações

Uma configuração é um conjunto de pares propriedade-valor que define as propriedades do pacote e das suas tarefas, contentores, variáveis, ligações e gestores de eventos quando o pacote é executado. Usar configurações torna possível atualizar propriedades sem modificar o pacote. Quando o pacote é executado, a informação de configuração é carregada, atualizando os valores das propriedades. Por exemplo, uma configuração pode atualizar a cadeia de ligação da ligação.

A configuração é guardada e depois implementada com o pacote quando este é instalado num computador diferente. Os valores na configuração podem ser atualizados quando o pacote é instalado para suportar o pacote num ambiente diferente. Para obter mais informações, consulte Criar configurações de pacote.

Registo e Fornecedores de Registos

Um registo é uma coleção de informação sobre o pacote que é recolhida quando este é executado. Por exemplo, um registo pode fornecer a hora de início e fim para a execução de um pacote. Um fornecedor de registo define o tipo de destino e o formato que o pacote, os seus contentores e tarefas podem usar para registar informação em tempo de execução. Os registos estão associados a um pacote, mas as tarefas e contentores dentro do pacote podem registar informação em qualquer registo de pacotes. Os Serviços de Integração incluem uma variedade de fornecedores de logs integrados. Por exemplo, os Serviços de Integração incluem fornecedores de registo para SQL Server e ficheiros de texto. Também pode criar provedores de registo personalizados e usá-los para registar. Para obter mais informações, consulte o Log de Serviços de Integração (SSIS) .

Variáveis

O Integration Services suporta variáveis do sistema e variáveis definidas pelo utilizador. As variáveis do sistema fornecem informações úteis sobre objetos de pacote em tempo de execução, e as variáveis definidas pelo utilizador suportam cenários personalizados em pacotes. Ambos os tipos de variáveis podem ser usados em expressões, scripts e configurações.

As variáveis ao nível do pacote incluem as variáveis do sistema pré-definidas disponíveis para um pacote e as variáveis definidas pelo utilizador com o âmbito do pacote. Para obter mais informações, consulte Variáveis dos Serviços de Integração (SSIS).

Parâmetros

Os parâmetros dos Serviços de Integração permitem atribuir valores a propriedades dentro dos pacotes no momento da execução do pacote. Você pode criar parâmetros de projeto no nível do projeto e parâmetros de pacote no nível do pacote. Os parâmetros do projeto são usados para fornecer qualquer entrada externa que o projeto receba para um ou mais pacotes no projeto. Os parâmetros do pacote permitem que você modifique a execução do pacote sem ter que editar e reimplantar o pacote. Para mais informações, consulte Parâmetros dos Serviços de Integração (SSIS).

Propriedades de pacotes que suportam funcionalidades estendidas

O objeto pacote pode ser configurado para suportar funcionalidades como reiniciar o pacote em checkpoints, assinar o pacote com um certificado digital, definir o nível de proteção do pacote e garantir a integridade dos dados através de transações.

Reiniciar Pacotes

O pacote inclui propriedades de ponto de verificação que você pode usar para reiniciar o pacote quando uma ou mais das suas tarefas falhar. Por exemplo, se um pacote tiver duas tarefas de Data Flow que atualizam duas tabelas diferentes e a segunda tarefa falhar, o pacote pode ser reexecutado sem repetir a primeira tarefa de Data Flow. Reiniciar um pacote pode poupar tempo a pacotes que executam por longos períodos. Reiniciar significa que podes iniciar o pacote a partir da tarefa falhada em vez de teres de recorrer o pacote todo. Para obter mais informações, consulte Reiniciar Pacotes Usando Pontos de Verificação.

Segurança de Pacotes

Um pacote pode ser assinado com assinatura digital e encriptado usando uma palavra-passe ou uma chave de utilizador. Uma assinatura digital autentica a origem da encomenda. No entanto, também deve configurar os Serviços de Integração para verificar a assinatura digital quando o pacote é carregado. Para mais informações, consulte Identificar a Fonte de Pacotes com Assinaturas Digitais e Controlo de Acesso para Dados Sensíveis em Pacotes.

Transações de Apoio

Definir um atributo de transação no pacote permite que tarefas, contentores e ligações no pacote se juntem à transação. Os atributos de transação garantem que o pacote e os seus elementos têm sucesso ou falham como unidade. Os pacotes também podem executar outros pacotes e inscrever outros pacotes em transações, para que possas executar múltiplos pacotes como uma única unidade de trabalho. Para obter mais informações, consulte Transações dos Serviços de Integração.

Registos personalizados disponíveis no pacote

A tabela seguinte lista as entradas de registo personalizadas para pacotes. Para obter mais informações, consulte o Log de Serviços de Integração (SSIS) .

Entrada de log Description
PackageStart Indica que o pacote começou a funcionar.

Nota: Esta entrada do registo é automaticamente escrita no registo. Não pode excluí-lo.
PackageEnd Indica que o pacote foi concluído.

Nota: Esta entrada do registo é automaticamente adicionada ao mesmo. Não pode excluí-lo.
Diagnóstico Fornece informações sobre a configuração do sistema que afeta a execução dos pacotes, como o número de executáveis que podem ser executados em simultâneo.

Defina as propriedades de um pacote

Você pode definir propriedades na janela Propriedades do SSDT (SQL Server Data Tools) ou programaticamente.

Para informações sobre como definir estas propriedades usando as Ferramentas de Dados do SQL Server (SSDT), veja Definir Propriedades do Pacote.

Para obter informações sobre como definir essas propriedades programaticamente, consulte Package.

Reutilizar um pacote existente como modelo

Os pacotes são frequentemente usados como modelos para construir pacotes que partilham funcionalidades básicas. Constróis o pacote básico e depois copias-no, ou podes designar o pacote como um modelo. Por exemplo, um pacote que descarrega e copia ficheiros e depois extrai os dados pode incluir as tarefas FTP e do Sistema de Ficheiros num Ciclo Foreach que enumera ficheiros numa pasta. Pode também incluir gestores de ligação Flat File para aceder aos dados e fontes Flat File para extrair os dados. O destino dos dados varia, e o destino é adicionado a cada novo pacote depois de ser copiado do pacote básico. Também podes criar pacotes e depois usá-los como modelos para os novos pacotes que adicionas a um projeto de Serviços de Integração. Para obter mais informações, consulte Criar pacotes no SQL Server Data Tools.

Quando um pacote é criado pela primeira vez, seja programaticamente ou usando o SSIS Designer, um GUID é adicionado à sua propriedade ID e um nome à sua propriedade Name . Se criar um novo pacote copiando um pacote existente ou usando um pacote modelo, o nome e o GUID também são copiados. Isto pode ser um problema se usares registos, porque o GUID e o nome do pacote são escritos nos registos para identificar o pacote ao qual pertence a informação registada. Por isso, deve atualizar o nome e o GUID dos novos pacotes para ajudar a diferenciá-los do pacote de onde foram copiados e entre si nos dados de log.

Para alterar o GUID do pacote, regeneras um GUID na propriedade ID na janela Propriedades do SQL Server Data Tools (SSDT). Para alterar o nome do pacote, pode atualizar o valor da propriedade Nome na janela de Propriedades. Também pode usar o dtutil na linha de comandos, ou atualizar o GUID e nome programaticamente. Para mais informações, veja Definir Propriedades do Pacote e Utilidade dtutil.

O Integration Services inclui duas ferramentas gráficas, SSIS Designer e SQL Server Import and Export Wizard, além do modelo de objetos SSIS para criação de pacotes. Consulte os seguintes tópicos para mais detalhes.