Partilhar via


Tarefa Script

A tarefa Script fornece código para execução de funções que não estão disponíveis nas tarefas internas e transformações fornecidas pelo SQL Server Integration Services. A tarefa Script também pode combinar funções em um script em vez de usar tarefas e transformações múltiplas. A tarefa Script é usada para trabalho que deve ser feito uma vez em um pacote (ou uma vez por objeto enumerado), e não para trabalho a ser feito uma vez por linha de dados.

A tarefa Script pode ser usada para os seguintes propósitos:

  • Acessar dados usando outras tecnologias para as quais os tipos de conexão interna não dão suporte. Por exemplo, um script pode usar o ADSI (Active Directory Service Interfaces) para acessar e extrair os nomes de usuário do Active Directory.

  • Criar um contador de desempenho específico de pacote. Por exemplo, um script pode criar um contador de desempenho que é atualizado enquanto uma tarefa de desempenho complexo ou insatisfatório é executada.

  • Identificar se os arquivos especificados estão vazios ou quantas filas eles contêm e com base nessa informação afetar o fluxo de controle em um pacote. Por exemplo, se um arquivo não contiver nenhuma linha, o valor de uma variável definido como 0, e uma restrição de precedência que avalia o valor impedir que uma tarefa Sistema de Arquivos copie o arquivo.

Se você tiver que usar o script para fazer o mesmo trabalho para cada linha de dados em um conjunto, use o componente Script no lugar da tarefa Script. Por exemplo, para avaliar a racionalidade de um valor de postagem e ignorar linhas de dados com valores muito altos ou baixos, use um componente Script. Para obter mais informações, consulte Script Component.

Se mais de um pacote usar um script, considere gravar uma tarefa personalizada em vez de usar a tarefa Script. Para obter mais informações, consulte Desenvolvendo uma tarefa personalizada.

Depois de decidir que a tarefa Script é a escolha apropriada para seu pacote, você precisa desenvolver o script usado pela tarefa e configurar a própria tarefa.

Gravando e executando o Script usado pela tarefa

A tarefa Script usa o Microsoft Visual Studio Tools for Applications (VSTA) como o ambiente no qual você grava os scripts e o mecanismo que executa esses scripts.

O VSTA fornece todos os recursos padrão do ambiente Visual Studio , como o editor Visual Studio codificado por cor, o IntelliSense e o Pesquisador de Objetos. O VSTA também usa o mesmo depurador usado por outras ferramentas de desenvolvimento Microsoft . Os pontos de interrupção no script funcionam de forma consistente com os pontos de interrupção em tarefas e contêineres do Integration Services . O VSTA dá suporte às linguagens de programação Microsoft Visual Basic e Microsoft Visual C#.

Para executar um script é necessário ter VSTA instalado no computador onde o pacote é executado. Quando o pacote é executado, a tarefa carrega o mecanismo de script e executa o script. Você pode acessar assemblies .NET externos em scripts adicionando referências aos assemblies no projeto.

Observação

Ao contrário das versões anteriores em que você podia indicar se os scripts eram pré-compilados, todos os scripts são pré-compilados no SQL Server 2008 Integration Services (SSIS) e em versões posteriores. Quando um script é pré-compilado, o mecanismo de linguagem não é carregado no tempo de execução e o pacote é executado mais rapidamente. No entanto, arquivos binários pré-compilados consomem espaço significativo em disco.

Configurando a tarefa Script

Você pode configurar a tarefa Script das seguintes formas:

  • Forneça o script personalizado executado pela tarefa.

  • Especifique o método no projeto VSTA que o runtime Integration Services chama como o ponto de entrada no código da tarefa Script.

  • Especifique a linguagem do script.

  • Opcionalmente, forneça listas somente leitura e variáveis de leitura/gravação para uso no script.

Você pode definir essas propriedades com o Designer SSIS ou programaticamente.

Configurando a tarefa Script no Designer

A tabela a seguir descreve o evento ScriptTaskLogEntry que pode ser registrado para a tarefa Script. O ScriptTaskLogEntry evento é selecionado para registro em log na guia Detalhes da caixa de diálogo Configurar Logs do SSIS . Para obter mais informações, consulte Registro em log do SSIS (Integration Services) e Mensagens personalizadas para registro em log.

Entrada de log Descrição
ScriptTaskLogEntry Informa os resultados da implementação do registro em log no script. A tarefa grava uma entrada de log para cada chamada ao método Log do objeto Dts. A tarefa grava essas entradas quando o código é executado. Para obter mais informações, consulte Registro em log na Tarefa Script.

Para obter mais informações sobre as propriedades que podem ser definidas no SSIS Designer, consulte os tópicos a seguir:

Para obter mais informações sobre como definir essas propriedades no SSIS Designer, consulte o tópico a seguir:

Configurando a tarefa Script programaticamente

Para obter mais informações sobre como definir essas propriedades programaticamente, veja o tópico a seguir: