Partilhar via


Tarefa de script

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

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

Você pode usar a tarefa Script para as seguintes finalidades:

  • Acesse dados usando outras tecnologias que não são suportadas por tipos de conexão internos. Por exemplo, um script pode usar ADSI (Ative Directory Service Interfaces) para acessar e extrair nomes de usuário do Ative Directory.

  • Crie um contador de desempenho específico do pacote. Por exemplo, um script pode criar um contador de desempenho que é atualizado enquanto uma tarefa complexa ou de baixo desempenho é executada.

  • Identifique se os arquivos especificados estão vazios ou quantas linhas eles contêm e, com base nessas informações, afeta o fluxo de controle em um pacote. Por exemplo, se um arquivo contiver zero linhas, o valor de uma variável definido como 0 e uma restrição de precedência que avalia o valor impedirá que uma tarefa do 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, você deve usar o componente Script em vez da tarefa Script. Por exemplo, se você quiser avaliar a razoabilidade de um valor de postagem e ignorar linhas de dados que têm valores muito altos ou baixos, você usaria um componente Script. Para obter mais informações, consulte Componente de script.

Se mais de um pacote usar um script, considere escrever 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 o seu pacote, você precisa desenvolver o script que a tarefa usa e configurar a própria tarefa.

Escrevendo e executando o script que a tarefa usa

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

O VSTA fornece todos os recursos padrão do ambiente do Visual Studio, como o editor do Visual Studio codificado por cores, o IntelliSense e o Pesquisador de Objetos. VSTA também usa o mesmo depurador que outras ferramentas de desenvolvimento da Microsoft usam. Os pontos de interrupção no script funcionam perfeitamente com pontos de interrupção em tarefas e contêineres do Integration Services. O VSTA suporta as linguagens de programação Microsoft Visual Basic e Microsoft Visual C#.

Para executar um script, você deve ter o 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 bibliotecas de código .NET externas em scripts adicionando referências às bibliotecas no projeto. Atualmente, não oferecemos suporte a referências de assembly para .NET Core e .NET Standard.

Observação

Ao contrário das versões anteriores, em que era possível indicar se os scripts foram 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 em tempo de execução e o pacote é executado mais rapidamente. No entanto, os arquivos binários pré-compilados consomem espaço em disco significativo.

Configurando a tarefa de script

Você pode configurar a tarefa Script das seguintes maneiras:

  • Forneça o script personalizado que a tarefa executa.

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

  • Especifique a linguagem de script.

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

Você pode definir essas propriedades por meio do SSIS Designer ou programaticamente.

Configurando a tarefa de script no Designer

A tabela a seguir descreve o evento ScriptTaskLogEntry que pode ser registrado para a tarefa Script. O evento ScriptTaskLogEntry é selecionado para registo de logs no separador Detalhes da janela de configuração Configurar Logs SSIS. Para obter mais informações, consulte o Log de Serviços de Integração (SSIS) .

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

Para obter mais informações sobre as propriedades que você pode definir no Designer SSIS, consulte os seguintes tópicos:

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

Configuração da Tarefa de Script Programaticamente

Para obter mais informações sobre como definir essas propriedades programaticamente, consulte o seguinte tópico:

Editor de tarefas de script (página Geral)

Use a página Geral da caixa de diálogo Editor de Tarefa de Script para nomear e descrever a tarefa Script.

Para saber mais sobre a tarefa de Script, consulte Tarefa de Script e Configuração da Tarefa de Script no Editor da Tarefa de Script. Para saber mais sobre como programar a tarefa Script, consulte Estendendo o pacote com a tarefa Script.

Opções

Nome
Forneça um nome exclusivo para a tarefa Script. Esse nome é usado como o rótulo no ícone da tarefa.

Observação

Os nomes das tarefas devem ser exclusivos dentro de um pacote.

Descrição
Digite uma descrição da tarefa Script.

Editor de tarefas de script (página de script)

Use a página Script da caixa de diálogo Editor de Tarefa de Script para definir as propriedades do script e especificar variáveis que podem ser acessadas pelo script.

Observação

No SQL Server 2008 Integration Services (SSIS) e versões posteriores, todos os scripts são pré-compilados. Em versões anteriores, você define uma propriedade PrecompileScriptIntoBinaryCode para especificar que o script foi pré-compilado.

Para saber mais sobre a tarefa de Script, consulte Tarefa de Script e Configuração da Tarefa de Script no Editor da Tarefa de Script. Para saber mais sobre como programar a tarefa Script, consulte Estendendo o pacote com a tarefa Script.

Opções

Linguagem de script
Selecione a linguagem de script para a tarefa, Microsoft Visual Basic ou Microsoft Visual C#.

Depois de criar um script para a tarefa, não é possível alterar o valor da propriedade ScriptLanguage .

Para definir a linguagem de script padrão para a tarefa Script, use a opção Linguagem de script na página Geral da caixa de diálogo Opções . .

Ponto de entrada
Especifique o método que é chamado pelo runtime do Integration Services como o ponto de entrada no código da tarefa Script. O método especificado deve estar na classe ScriptMain do projeto Microsoft Visual Studio Tools for Applications (VSTA) A classe ScriptMain é a classe padrão gerada pelos modelos de script.

Se você alterar o nome do método no projeto VSTA, você deve alterar o valor da propriedade EntryPoint .

ReadOnlyVariables
Digite uma lista separada por vírgulas de variáveis somente leitura disponíveis para o script ou clique no botão de reticências (...) e selecione as variáveis na caixa de diálogo Selecionar variáveis .

Observação

Os nomes das variáveis diferenciam maiúsculas de minúsculas.

ReadWriteVariables
Digite uma lista separada por vírgulas de variáveis de leitura/gravação disponíveis para o script ou clique no botão de reticências (...) e selecione as variáveis na caixa de diálogo Selecionar variáveis .

Observação

Os nomes das variáveis diferenciam maiúsculas de minúsculas.

Editar script
Abre o VSTA IDE onde você pode criar ou modificar o script.