Configurações de pacotes do SSIS
O SQL Server Integration Services fornece configurações de pacote que podem ser usadas para atualizar os valores das propriedades em tempo de execução. Uma configuração é um par propriedade/valor que você adiciona a um pacote concluído. Normalmente, você cria uma definição de propriedades do pacote nos objetos do pacote durante o desenvolvimento do pacote e, depois, adiciona as configurações ao pacote. Quando o pacote é executado, obtém os novos valores da propriedade da configuração. Por exemplo, ao usar uma configuração, você pode alterar a cadeia de caracteres de conexão de um gerenciador de conexões ou atualizar o valor de uma variável.
As configurações de pacote fornecem os seguintes benefícios:
As configurações facilitam a movimentação dos pacotes de um ambiente de desenvolvimento para um ambiente de produção. Por exemplo, uma configuração pode atualizar o caminho de um arquivo de origem, ou alterar o nome de um banco de dados ou de um servidor.
As configurações são úteis quando você implanta pacotes em muitos servidores diferentes. Por exemplo, uma variável na configuração de cada pacote implantado pode conter um valor de espaço de disco diferente e, se o espaço em disco disponível não atingir esse valor, o pacote não será executado.
As configurações tornam os pacotes mais flexíveis. Por exemplo, uma configuração pode atualizar o valor de uma variável usada em uma expressão de propriedade.
O Integration Services oferece suporte a vários métodos diferentes de armazenamento de configurações de pacote, como arquivos XML, tabelas em um banco de dados SQL Server e variáveis de ambiente e pacote.
Cada configuração é um par propriedade/valor. O arquivo de configuração XML e os tipos de configuração SQL Server podem incluir várias configurações.
As configurações são incluídas quando você cria um utilitário de desenvolvimento de pacote para instalar pacotes. Quando você instala os pacotes, as configurações podem ser atualizadas como uma etapa na instalação de pacotes.
Observação |
---|
Para familiarizar-se com os conceitos explicados nesta seção, consulte Tutorial: implantação de pacotes e Lição 3: Adicionando configurações de pacote de Tutorial SSIS: Criando um pacote ETL simples. |
Compreendendo como as configurações de pacote SSIS são aplicadas em tempo de execução
Quando você usa o utilitário de prompt de comando dtexec (dtexec.exe) para executar um pacote implantado, o utilitário aplica configurações de pacote duas vezes. O utilitário aplica configurações antes e depois de aplicar as opções que você especificou na linha de comando.
Como o utilitário carrega e executa o pacote, os eventos ocorrem na seguinte ordem:
O utilitário dtexec carrega o pacote.
O utilitário aplica as configurações que foram especificadas no pacote em tempo de design e na ordem especificada no pacote. (A única exceção a essa regra são as configurações de Variáveis do Pacote Pai. O utilitário só aplica essas configurações uma vez e posteriormente no processo.)
Em seguida, o utilitário aplica qualquer opção que você especificou na linha de comando.
O utilitário recarrega as configurações que foram especificadas no pacote em tempo de design e na ordem especificada no pacote. (Novamente, a exceção a essa regra são as configurações de Variáveis do Pacote Pai). O utilitário usa qualquer opção de linha de comando que foi especificada para recarregar as configurações. Portanto, valores diferentes podem ser recarregados a partir de locais distintos.
O utilitário aplica as configurações Variáveis do Pacote Pai.
O utilitário executa o pacote.
O modo no qual o utilitário dtexec aplica configurações afeta as seguintes opções de linha de comando:
Você pode usar a opção /Connection ou /Set em tempo de execução para carregar configurações de pacote de um local diferente do local especificado em tempo de design.
Você pode usar a opção /ConfigFile para carregar configurações adicionais não especificadas em tempo de design.
Porém, essas opções de linha de comando têm algumas restrições:
Você não pode usar a opção /Set ou /Connection para substituir valores únicos que também são definidos por uma configuração.
Você não pode usar a opção /ConfigFile para carregar configurações que substituem as configurações especificadas em tempo de design.
Para obter mais informações sobre essas opções e como o comportamento delas difere entre o SQL Server 2005 Integration Services e o SQL Server 2008 Integration Services, consulte Alterações de comportamento em recursos do Integration Services no SQL Server 2008 R2.
Tipos de configuração de pacotes do SSIS
A tabela a seguir descreve os tipos de configuração de pacotes.
Tipo |
Descrição |
---|---|
Arquivo de configuração XML |
Um arquivo XML contém as configurações. O arquivo XML pode incluir várias configurações. |
Variável de ambiente |
Uma variável de ambiente contém a configuração. |
Entrada de Registro |
Uma entrada de Registro contém a configuração. |
Variável de pacote pai |
Uma variável no pacote contém a configuração. Normalmente, esse tipo de configuração é usado para atualizar as propriedades em pacotes filho. |
Tabela SQL Server |
Uma tabela em um banco de dados SQL Server que contém a configuração. A tabela pode incluir várias configurações. |
Arquivos de configuração XML no SSS
Se você selecionar o tipo de configuração arquivo de configuração XML, poderá criar um novo arquivo de configuração, reutilizar um arquivo existente e adicionar configurações novas ou reutilizar um arquivo existente, mas substituir o conteúdo do arquivo.
Um arquivo de configuração XML inclui duas seções:
Um título que contém informações sobre o arquivo de configuração. Esse elemento inclui atributos tais como quando o arquivo foi criado e o nome da pessoa que gerou o arquivo.
Elementos de configuração que contêm informações sobre cada configuração. Esse elemento inclui atributos como o caminho da propriedade e o valor configurado de uma propriedade.
O código XML a seguir mostra a sintaxe de um arquivo de configuração XML. Esse exemplo mostra uma configuração para a propriedade Value de uma variável de inteiro chamada MyVar.
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo
GeneratedBy="DomainName\UserName"
GeneratedFromPackageName="Package"
GeneratedFromPackageID="{2AF06766-817A-4E28-9878-0DE37A150648}"
GeneratedDate="2/01/2005 5:58:09 PM"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::MyVar].Value" ValueType="Int32">
<ConfiguredValue>0</ConfiguredValue>
</Configuration>
</DTSConfiguration>
Entrada do Registro para armazenar o pacote configuração do SSIS
Se você desejar usar uma entrada de Registro para armazenar a configuração, poderá usar uma chave existente ou criar uma nova chave em HKEY_CURRENT_USER. A chave do Registro que você usa deve ter um valor chamado Valor. O valor pode ser um DWORD ou uma cadeia de caracteres.
Se você selecionar o tipo de configuração Entrada de Registro, digitará o nome da chave do Registro na caixa de entrada de Registro. O formato é <registry key>. Se você quiser usar uma chave do Registro que não está na raiz de HKEY_CURRENT_USER, use o formato <registry key\registry key\...> para identificar a chave. Por exemplo, para usar a chave MyPackage localizada em SSISPackages, digite SSISPackages\MyPackage.
Tipo de configuração do SSIS do SQL Server
Se você selecionar o tipo de configuração SQL Server, especifique a conexão para o banco de dados SQL Server em que deseja armazenar as configurações. Você pode salvar as configurações em uma tabela existente ou criar uma tabela no banco de dados especificado.
A instrução SQL a seguir mostra a instrução padrão CREATE TABLE fornecida pelo Assistente de Configuração de Pacotes.
CREATE TABLE [dbo].[SSIS Configurations]
(
ConfigurationFilter NVARCHAR(255) NOT NULL,
ConfiguredValue NVARCHAR(255) NULL,
PackagePath NVARCHAR(255) NOT NULL,
ConfiguredValueType NVARCHAR(20) NOT NULL
)
O nome fornecido para a configuração é o valor armazenado na coluna ConfigurationFilter.
Configurações diretas e indiretas
O Integration Services fornece configurações diretas e indiretas. Se você especificar as configurações diretamente, o Integration Services criará um vínculo direto entre o item de configuração e a propriedade de objeto do pacote. As configurações diretas são a melhor escolha quando o local da origem não é alterado. Por exemplo, se você tiver certeza de que todas as implantações no pacote usam o mesmo caminho de arquivo, poderá especificar um arquivo de configuração XML.
As configurações indiretas usam variáveis de ambiente. Em vez de especificar os parâmetros de configuração diretamente, a configuração aponta para uma variável de ambiente que, por sua vez, contém o valor da configuração. O uso de configurações indiretas é a escolha mais adequada quando o local da configuração pode ser alterado em cada implantação de um pacote.
Recursos externos
Artigo técnico de Noções básicas sobre configurações de pacotes do Integration Services, em msdn.microsoft.com
Entrada de blog, Criando pacotes em código – Configurações de Pacote, em www.sqlis.com.
Entrada de blog, Exemplo de API – Adicione programaticamente um arquivo de configuração a um pacote, em blogs.msdn.com.
Ferramenta, Editor de arquivo de configuração de pacote, em codeplex.com.
|
Histórico de alterações
Conteúdo atualizado |
---|
Informações adicionadas sobre a opção de linha de comando /Connection e configurações aplicáveis. |