Usando funções do Integration Services

O SQL Server Integration Services inclui as três funções fixas no nível do banco de dados, db_ssisadmin, db_ssisltduser e db_ssisoperator, para controlar o acesso aos pacotes. As funções só podem ser implementadas em pacotes salvos no banco de dados msdb do SQL Server. Você atribui funções a um pacote que usa o SQL Server Management Studio. As atribuições das funções são salvas no banco de dados msdb.

A tabela a seguir descreve as ações de leitura e gravação do Windows e as funções fixas no nível de banco de dados do Integration Services.

Função

Ação de leitura

Ação de gravação

db_ssisadmin

ou

sysadmin

Enumerar os próprios pacotes.

Enumerar todos os pacotes.

Exibir os próprios pacotes.

Exibir todos os pacotes.

Executar os próprios pacotes.

Executar todos os pacotes.

Exportar os próprios pacotes.

Exportar todos os pacotes.

Executar todos os pacotes no SQL Server Agent.

Importar pacotes.

Excluir os próprios pacotes.

Excluir todos os pacotes.

Alterar as funções dos próprios pacotes.

Alterar as funções de todos os pacotes.

Observação importanteImportante
Os membros das funções db_ssisadmin e dc_admin podem elevar seus privilégios para sysadmin. Essa elevação de privilégios pode ocorrer porque essas funções podem modificar os pacotes do Integration Services e os pacotes do Integration Services podem ser executados pelo SQL Server usando o contexto de segurança sysadmin do SQL Server Agent. Para se proteger contra essa elevação de privilégios ao executar planos de manutenção, conjuntos de coletas de dados e outros pacotes do Integration Services, configure os trabalhos do SQL Server Agent que executam pacotes para usar uma conta proxy com privilégios limitados ou apenas adicione membros sysadmin às funções db_ssisadmin e dc_admin.

db_ssisltduser

Enumerar os próprios pacotes.

Enumerar todos os pacotes.

Exibir os próprios pacotes.

Executar os próprios pacotes.

Exportar os próprios pacotes.

Importar pacotes.

Excluir os próprios pacotes.

Mudar as funções dos próprio pacotes.

db_ssisoperator

Enumerar todos os pacotes.

Exibir todos os pacotes.

Executar todos os pacotes.

Exportar todos os pacotes.

Executar todos os pacotes no SQL Server Agent.

Nenhuma

Administradores do Windows

Exibir os detalhes de execução de todos os pacotes em execução.

Parar todos os pacotes em execução.

A tabela sysssispackages no msdb contém os pacotes que foram salvos no SQL Server. Para obter mais informações, consulte sysssispackages (Transact-SQL).

A tabela sysssispackages inclui colunas que contêm informações sobre as funções atribuídas aos pacotes.

  • A coluna readerrole especifica a função que tem acesso de leitura ao pacote.

  • A coluna writerrole especifica a função que tem acesso de gravação ao pacote.

  • A coluna ownersid contém o identificador de segurança exclusivo do usuário que criou o pacote. Essa coluna define o proprietário do pacote.

Por padrão, as permissões do db_ ssisadmin, as funções fixas no nível de banco de dados do db_ssisoperator e o identificador de segurança exclusivo do usuário que criou o pacote se aplicam à função de leitura dos pacotes, e as permissões da função db_ssisadmin e o identificador de segurança exclusivo do usuário que criou o pacote se aplicam à função de gravação. Um usuário deve ser um membro da função db_ssisadmin, db_ssisltduser ou db_ssisoperator para ter acesso de leitura ao pacote. Um usuário deve ser membro da função db_ssisadmin para ter acesso de gravação.

As funções fixas no nível de banco de dados trabalham em conjunto com as funções definidas pelo usuário. As funções definidas pelo usuário são as funções que você cria no SQL Server Management Studio e usa para atribuir permissões aos pacotes. Para acessar um pacote, um usuário deve ser membro da função definida pelo usuário e da função fixa no nível de banco de dados pertinente do Integration Services. Por exemplo, se os usuários forem membros da função definida pelo usuário AuditUsers atribuída a um pacote, eles também deverão ser membros da função db_ssisadmin, db_ssisltduser, ou db_ssisoperator para ter acesso de leitura ao pacote.

Se você não atribuir funções definidas pelo usuário aos pacotes, o acesso aos pacotes será determinado pelas funções fixas no nível do banco de dados.

Se você quiser usar funções definidas pelo usuário, precisará adicioná-las ao banco de dados msdb antes de atribuí-las aos pacotes. Você pode criar funções de banco de dados novas no SQL Server Management Studio.

As funções em nível de banco de dados do Integration Services concedem direitos nas tabelas do sistema do Integration Services no banco de dados msdb, mas não nas tabelas do sistema DTS, como sysdtspackages no banco de dados msdb. Você precisa conceder direitos de usuário nas tabelas do sistema DTS para eles possam executar determinadas tarefas de gerenciamento, como a importação de um pacote do DTS no Management Studio. Para obter mais informações sobre o suporte ao DTS, consulte Suporte ao TDS (Data Transformation Services no SQL Server 2008.

Etapa 1: Abrir o Pesquisador de Objetos e conectar-se ao Integration Services

Antes de poder atribuir funções aos pacotes usando o SQL Server Management Studio, você deve abrir o Pesquisador de Objetos no SQL Server Management Studio e se conectar ao Integration Services.

O serviço Integration Services deve ser iniciado antes de você se conectar ao Integration Services.

Para abrir o Pesquisador de Objetos e se conectar ao Integration Services

  1. Abra o SQL Server Management Studio.

  2. Clique em Pesquisador de Objetos no menu Exibir.

  3. Na barra de ferramentas do Pesquisador de Objetos, clique em Conectar e clique em Integration Services.

  4. Na caixa de diálogo Conectar ao Servidor, forneça um nome de servidor. Você pode usar um ponto (.), (local) ou localhost para indicar o servidor local.

  5. Clique em Conectar.

Etapa 2: Atribuir funções de leitor e de gravador aos pacotes

Você pode atribuir uma função de leitor e de gravador para cada pacote.

Atribuir uma função de leitor e de gravador a um pacote

  1. No Pesquisador de Objetos, localize a conexão do Integration Services.

  2. Expanda a pasta Pacotes Armazenados e, depois, expanda a subpasta que contém o pacote ao qual você deseja atribuir funções.

  3. Clique com o botão direito do mouse no pacote ao qual você deseja atribuir funções.

  4. Na caixa de diálogo Funções do Pacote, selecione uma função de leitor na lista Função de Leitor e uma função de gravador na lista Função de Gravador.

  5. Clique em OK.

Criar uma função definida pelo usuário

O SQL Server (o serviço do MSSQLSERVER) deve ser iniciado antes de você se conectar ao Mecanismo de Banco de Dados e acessar o banco de dados msdb.

Para criar uma função definida pelo usuário

  1. Abra o SQL Server Management Studio.

  2. Clique em Pesquisador de Objetos no menu Exibir.

  3. Na barra de ferramentas do Pesquisador de Objetos, clique em Conectar e clique em Mecanismo de Banco de Dados.

  4. Na caixa de diálogo Conectar ao Servidor, forneça um nome de um servidor e selecione um modo de autenticação. Você pode usar um ponto (.), (local) ou localhost para indicar o servidor local.

  5. Clique em Conectar.

  6. Expanda Bancos de Dados, Bancos de Dados do Sistema, msdb, Segurança e Funções.

  7. No nó Funções, clique com o botão direito do mouse em Funções de Banco de Dados e clique em Nova Função de Banco de Dados.

  8. Na página Geral, forneça um nome e, opcionalmente, especifique um proprietário e esquemas proprietários e adicione membros da função.

  9. Opcionalmente, clique em Permissões e configure as permissões de objeto.

  10. Opcionalmente, clique em Propriedades Estendidas e configure qualquer propriedade estendida.

  11. Clique em OK.

Ícone do Integration Services (pequeno) Fique atualizado com o Integration Services

Para obter os mais recentes downloads, artigos, exemplos e vídeos da Microsoft, bem como soluções selecionadas da comunidade, visite a página Integration Services no MSDN ou TechNet:

Para receber uma notificação automática das atualizações, assine os feeds RSS disponíveis na página.