Criando conjuntos de dados de relatório no SQL Server Integration Services
É possível criar um relatório do Reporting Services que usa dados gerados pela execução de um pacote do Integration Services. O pacote deve cumprir os requisitos mínimos descritos neste tópico.
Observação |
---|
Não há suporte para a extensão de processamento de dados SSIS. Essa extensão de processamento de dados é um recurso de não-produção que é desativado por padrão. Não é recomendado usar a extensão de processamento de dados SSIS em um servidor de produção neste momento. Se você optar por habilitar o recurso e usá-lo no servidor de relatórios, lembre-se de que, em tempo de execução, o pacote será processado usando a identidade de segurança da conta do serviço Servidor de Relatório do Windows ou da conta do serviço Web Servidor de Relatórios. Isto tem implicações em como você protege as fontes de dados que o pacote acessa. Para obter mais informações, consulte Configurando o Reporting Services para usar dados de pacotes do SSIS. |
O seguinte fluxo de eventos descreve o processamento de dados de um relatório que usa dados de pacote:
O processamento do relatório é iniciado quando um usuário abre um relatório ou quando o servidor de relatório gera o relatório usando uma operação agendada.
O servidor de relatório se conecta ao arquivo de pacote (.dtsx) armazenado no sistema de arquivos ou no banco de dados msdb. A cadeia de conexão do relatório deve especificar um caminho totalmente qualificado para o arquivo de pacote.
Tendo em vista o processamento, o servidor de relatório passa a consulta definida no relatório para Integration Services. A consulta tem o nome do destino DataReader.
O servidor de relatório recupera e mescla os dados em um layout de relatório, processando-os conforme especificado.
Não é possível ativar o processamento de relatório em um evento Integration Services. Os modelos de evento dos produtos não são integrados. O processamento de relatório deve ser iniciado em Reporting Services.
Para selecionar SSIS como um tipo de fonte de dados, você deve configurar a conta de execução autônoma e a extensão de processamento de dados SSIS. Para obter mais informações, consulte Configurando a conta de execução autônoma e Configurando o Reporting Services para usar dados de pacotes do SSIS.
Criando o pacote
Nem todos os pacotes podem ser usados para fornecer dados a um relatório. Entre os requisitos de pacote para obter dados de relatório estão usar um destino de DataReader que forneça um destino na memória. A seguinte lista descreve requisitos adicionais e etapas para criar o pacote e o relatório.
No Integration Services, crie um pacote que tenha pelo menos uma tarefa de fluxo de dados que preencha um ou mais destinos de DataReader. O objeto de destino deve incluir as colunas de entrada que você deseja usar no relatório.
Configure uma conexão com uma fonte de dados externa. Caso o pacote se conecte a uma fonte de dados relacional do SQL Server, você pode optar pela Autenticação do Windows ou pela Autenticação do SQL Server. Ao configurar a conexão, use a Autenticação do SQL Server com uma senha armazenada.
Execute o pacote para verificar se ele retorna os dados esperados. Para obter mais informações sobre como configurar um visualizador de dados que mostre os dados retornou pelo pacote, consulte Como adicionar um visualizador de dados a um fluxo de dados.
Salve o pacote em uma pasta no sistema de arquivos ou SQL Server. Não há suporte para salvar o pacote no Armazenamento de Pacotes SSIS.
Observe o nome do destino de DataReader que contém o conjunto de resultados que você deseja usar no relatório. Mais tarde, você especificará esse nome como a consulta de relatório.
Definindo a conexão e a consulta em um relatório
Depois de definir o pacote, é possível criar um relatório que use a extensão de processamento de dados SSIS. O relatório deve incluir um conjunto de dados que especifica uma conexão com o pacote. A consulta de conjunto de dados é o nome de um destino de DataReader. As credenciais definidas no conjunto de dados são usadas na execução do pacote. A seguinte lista fornece mais informações sobre as definições de conexão e consulta que você deve especificar no conjunto de dados de relatório:
O tipo da fonte de dados tipo deve ser SSIS.
O tipo de credencial pode ser Sem credenciais ou do Windows. Não é possível usar a autenticação do banco de dados. Quando você cria a conexão no conjunto de dados de relatório pela primeira vez, as credenciais são definidas automaticamente como Sem credenciais. Após a publicação do relatório, é possível usar o Gerenciador de Relatórios ou o SQL ServerManagement Studio para alternar o tipo de credencial para segurança integrada do Windows ou uma conta de usuário do Windows armazenada. Caso você armazene as credenciais, não se esqueça de selecionar a opção Usar as credenciais do Windows ao conectar-se à fonte de dados. Não há suporte para credenciais solicitadas.
A cadeia de conexão do pacote deve ser um caminho totalmente qualificado para o arquivo de pacote (.dtsx) no sistema de arquivos ou msdb. Use os argumentos -file ou -sql do utilitário dtexec. Você não precisa especificar o utilitário propriamente dito. A extensão de processamento de dados SSIS executa o utilitário como um processo em segundo plano. Para obter mais informações sobre os argumentos de linha de comando, consulte Utilitário dtexec. O seguinte exemplo ilustra a sintaxe da cadeia de conexão que você pode usar para recuperar um pacote do sistema de arquivos:
-f c:\datafiles\packages\reportdatapackage.dtsx
A consulta tem o nome do destino DataReader. Por padrão, o nome é DataReaderDest. É possível substituí-lo por um nome diferente.