Pacotes do Integration Services
Um pacote é uma coleção organizada de conexões, elementos de fluxo de controle, elementos de fluxo de dados, manipuladores de eventos, variáveis e configurações que você agrupa usando as ferramentas de design gráfico fornecidas pelo SQL Server Integration Services ou cria programaticamente. Em seguida, você salva o pacote concluído no SQL Server, no Armazenamento de Pacotes SSIS ou no sistema de arquivos. O pacote é a unidade de trabalho que é recuperada, executada e salva.
Quando você cria um pacote pela primeira vez, ele é um objeto vazio que não desempenha nenhuma função. Para adicionar funcionalidade a um pacote, adicione um fluxo de controle e, opcionalmente, um ou mais fluxos de dados ao pacote.
O diagrama a seguir mostra um pacote simples que contém um fluxo de controle com uma tarefa de Fluxo de Dados, que, por sua vez, contém um fluxo de dados.
Depois de criar o pacote básico, você pode adicionar recursos avançados como registro e variáveis para estender a funcionalidade do pacote. Para obter mais informações, consulte a seção sobre Objetos que estendem a funcionalidade de pacotes.
O pacote concluído pode ser configurado com a definição de propriedades no nível do pacote que implementam a segurança, habilitam a reinicialização de pacotes a partir de pontos de verificação ou incorporam transações ao fluxo de trabalho do pacote. Para obter mais informações, consulte a seção sobre Propriedades que dão suporte a recursos estendidos.
Conteúdo do pacote
Um fluxo de controle consiste em uma ou mais tarefas e contêineres executados quando o pacote é executado. Para controlar a ordem ou definir as condições para executar a próxima tarefa ou o contêiner no fluxo de controle do pacote, use restrições de precedência para conectar as tarefas e os contêineres em um pacote. Um subconjunto de tarefas e contêineres também pode ser agrupado e executado repetidamente como uma unidade dentro do fluxo de controle do pacote. Para obter mais informações, consulte Elementos de Fluxo de Controle e Criando fluxo de controle de pacote.
Um fluxo de dados consiste nas fontes e destinos que extraem e carregam dados, nas transformações que modificam e estendem dados e nos caminhos que vinculam fontes, transformações e destinos. Antes de poder adicionar um fluxo de dados a um pacote, o fluxo de controle do pacote deve incluir uma tarefa de Fluxo de Dados. A tarefa de Fluxo de Dados é o executável dentro do pacote do SSIS que cria, ordena e executa o fluxo de dados. Uma instância separada do mecanismo de fluxo de dados é aberta para cada tarefa de Fluxo de Dados em um pacote. Para obter mais informações, consulte Tarefa de Fluxo de Dados, Elementos de fluxo de dados e Criando fluxo de dados de pacote.
Um pacote normalmente inclui pelo menos um gerenciador de conexões. Um gerenciador de conexões é um link entre um pacote e uma fonte de dados que define a cadeia de conexão para acessar os dados que as tarefas, as transformações e os manipuladores de eventos do pacote usam. O Integration Services inclui tipos de conexão para fontes de dados, como arquivos de texto e XML, bancos de dados relacionais e bancos de dados e projetos do Analysis Services. Para obter mais informações, consulte Conexões do Integration Services.
Modelos de pacote
Os pacotes costumam ser usados como modelos a partir dos quais se criam pacotes que compartilham funcionalidade básica. Crie o pacote básico e copie-o ou especifique que o pacote é um modelo. Por exemplo, um pacote que baixa e copia arquivos e extrai os dados pode incluir as tarefas de FTP e Sistema de Arquivos em um Loop Foreach que enumera arquivos em uma pasta. Ele também pode incluir gerenciadores de conexões de Arquivo Simples para acessar os dados e fontes de Arquivos Simples a fim de extrair os dados. O destino dos dados varia e é adicionado a cada novo pacote depois de ser copiado do pacote básico. Você também pode criar pacotes e usá-los como modelos para novos pacotes adicionados a um projeto do Integration Services. Para obter mais informações, consulte Criando um pacote no Business Intelligence Development Studio.
Quando um pacote é inicialmente criado, seja programaticamente ou usando o Designer SSIS, um GUID é adicionado à sua propriedade ID e um nome à sua propriedade Name. Se você criar um novo pacote copiando um pacote existente ou usando um modelo de pacote, o nome e o GUID do pacote também serão copiados. Isso pode ser um problema se você usa log, porque o GUID e o nome do pacote são gravados em logs para identificar o pacote ao qual pertencem as informações registradas. Portanto, você deve atualizar o nome e o GUID dos novos pacotes para ajudar a diferenciá-los do pacote a partir do qual foram copiados e entre si nos dados de log.
Para alterar o GUID do pacote, gere novamente um GUID na propriedade ID na janela Propriedades do Business Intelligence Development Studio. Para alterar o nome do pacote, você pode atualizar o valor da propriedade Name na janela Propriedades. Você também pode usar o prompt de comando dtutil ou atualizar o GUID e o nome programaticamente. Para obter mais informações, consulte Definindo propriedades do pacote e Utilitário dtutil (ferramenta SSIS).
Objetos que estendem a funcionalidade do pacote
Os pacotes podem incluir objetos adicionais que oferecem recursos avançados ou estendem a funcionalidade existente, como manipuladores de eventos, configurações, log e variáveis.
Manipuladores de eventos
Um manipulador de eventos é um fluxo de trabalho que é executado como resposta aos eventos gerados por um pacote, tarefa ou contêiner. Por exemplo, você pode usar um manipulador de eventos para verificar o espaço em disco, caso ocorra um evento de pré-execução ou um erro, e enviar um email informando o espaço disponível ou os erros a um administrador. Um manipulador de eventos é criado como um pacote, com um fluxo de controle e fluxos de dados opcionais. Manipuladores de eventos podem ser adicionados a tarefas ou contêineres individuais no pacote. Para obter mais informações, consulte Manipuladores de eventos do Integration Services e Adicionando manipuladores de eventos de pacote.
Configurações
Uma configuração é um conjunto de pares propriedade-valor que define as propriedade do pacote e suas tarefas, contêineres, variáveis, conexões e manipuladores de eventos quando o pacote é executado. Usar configurações possibilita atualizar as propriedades sem modificar o pacote. Quando o pacote é executado, as informações de configuração são carregadas, atualizando os valores das propriedades. Por exemplo, uma configuração pode atualizar a cadeia de conexão da conexão.
A configuração é salva e implantada com o pacote quando este é instalado em um computador diferente. Os valores da configuração podem ser atualizados quando o pacote é instalado para dar suporte ao pacote em um ambiente diferente. Para obter mais informações, consulte Criando configurações do pacote.
Log e provedores de log
Um log é uma coleção de informações sobre o pacote coletada quando este é executado. Por exemplo, um log pode fornecer a hora inicial e final da execução de um pacote. Um provedor de log define o tipo de destino e o formato que o pacote e seus contêineres e tarefas podem usar para registrar informações em tempo de execução. Os logs são associados a um pacote, mas as tarefas e os contêineres do pacote podem registrar informações em qualquer log de pacote. O Integration Services inclui uma série de provedores de log internos para registrar dados. Por exemplo, o Integration Services inclui provedores de log para o SQL Server e arquivos de texto. Você também pode criar provedores de log personalizados e usá-los para registrar informações. Para obter mais informações, consulte Provedores de log do Integration Services.
Variáveis
O Integration Services dá suporte a variáveis de sistema e a variáveis definidas pelo usuário. As variáveis de sistema oferecem informações úteis sobre objetos de pacote em tempo de execução e as variáveis definidas pelo usuário suportam cenários personalizados em pacotes. Os dois tipos de variáveis podem ser usados em expressões, scripts e configurações.
As variáveis no nível do pacote incluem variáveis de sistema predefinidas disponíveis para um pacote e variáveis definidas pelo usuário com o escopo do pacote. Para obter mais informações, consulte Variáveis do Integration Services.
Propriedades de pacote que dão suporte a recursos estendidos
O objeto do pacote pode ser configurado para dar suporte a recursos como reiniciar o pacote nos pontos de verificação, assinar o pacote com um certificado digital, definir o nível de proteção do pacote e assegurar a integridade de dados usando transações.
Reiniciando pacotes
O pacote inclui propriedades de pontos de verificação que você pode usar para reiniciar o pacote quando uma ou mais tarefas falham. Por exemplo, se um pacote tiver duas tarefas de Fluxo de Dados que atualizam duas tabelas diferentes e a segunda tarefa falhar, o pacote poderá ser executado novamente sem repetir a primeira tarefa de Fluxo de Dados. Reiniciar um pacote pode economizar tempo no caso de pacotes de longa execução. Reiniciar significa que você pode iniciar o pacote a partir da tarefa com falha em vez de ter que executar novamente o pacote inteiro. Para obter mais informações, consulte Reiniciando pacotes com falha usando pontos de verificação.
Protegendo pacotes
Um pacote pode ser assinado com uma assinatura digital e criptografado usando uma senha ou uma chave de usuário. Uma assinatura digital autentica a fonte do pacote. No entanto, você também deve configurar o Integration Services para verificar a assinatura digital quando o pacote for carregado. Para obter mais informações, consulte Usando assinaturas digitais com pacotes e Definindo o nível de proteção de pacotes.
Dando suporte a transações
Definir um atributo de transação no pacote permite que tarefas, contêineres e conexões no pacote se unam à transação. Atributos de transação asseguram que o pacote e seus elementos tenham êxito ou falhem como uma unidade. Os pacotes também podem executar outros pacotes e envolver outros pacotes em transações, de modo que você pode executar vários pacotes como uma única unidade de trabalho. Para obter mais informações, consulte Verificando a integridade dos dados usando transações.
Entradas de log personalizadas disponíveis no pacote
A tabela a seguir relaciona as entradas de log personalizadas para pacotes. Para obter mais informações, consulte Implementando log em pacotes e Mensagens personalizadas para log.
Entrada de log |
Descrição |
---|---|
PackageStart |
Indica que o pacote começou a ser executado.
Observação
Esta entrada de log é gravada no log automaticamente. Não é possível excluí-la.
|
PackageEnd |
Indica que o pacote foi concluído.
Observação
Esta entrada de log é gravada no log automaticamente. Não é possível excluí-la.
|
Diagnostic |
Fornece informações sobre a configuração do sistema que afeta a execução de pacotes como os executáveis numéricos que podem ser executados simultaneamente. |
Criando um pacote
O Integration Services inclui duas ferramentas gráficas, o Designer SSIS e o Assistente de Importação e Exportação do SQL Server, além do modelo de objeto do SSIS para criar pacotes.
Para obter mais informações sobre como criar pacotes, clique em um tópico na lista a seguir:
Configurando o pacote
Você pode definir as propriedades na janela Propriedades do Business Intelligence Development Studio ou programaticamente.
Para obter mais informações sobre como definir essas propriedades, clique no seguinte tópico:
Configurando o pacote programaticamente
Para obter mais informações sobre como definir programaticamente essas propriedades, clique no seguinte tópico:
|