Sintomas
Considere o seguinte cenário:
-
Executar uma instância do catálogo de serviços de integração e o catálogo SSISDB de 2012 do Microsoft SQL Server ou SQL Server 2014.
-
Conceder permissões aos membros do grupo do Windows que tenham acesso a um SSIS pasta, o projecto ou o ambiente passível de ser protegido item de catálogo.
Nota Pode conceder as permissões em qualquer uma das seguintes formas:-
Utilize Management Studio. Para efectuar este procedimento, o objecto no catálogo de serviços de integração com o botão direito, seleccione Propriedadese, em seguida, na página de permissões , navegue para o grupo, adicione o grupo e, em seguida, seleccione as permissões para esse grupo.
-
Chamar o procedimento armazenado seguinte:
[SSISDB].[catalog].[grant_permission]
-
-
Um utilizador do Windows que é membro do grupo Windows tenta visualizar e executar os pacotes na base de dados SSISDB no catálogo de serviços de integração utilizando Management Studio ou o procedimento armazenado.
Neste cenário, o utilizador não é possível ver os pacotes para o qual foram concedidas permissões e não é possível validar ou executar os pacotes.
Causa
Este problema ocorre devido a um problema nas vistas internos SSISDB. Isto impede que o utilizador ter as permissões efectivas esperadas quando as permissões são concedidas utilizando membros do grupo do Windows.
Resolução
O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.
Actualização cumulativa 1 para o SQL Server 2014/en-us/help/2931693
Actualização cumulativa 7 para o SQL Server 2012 SP1/en-us/help/2894115
Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Verifique as actualizações cumulativas mais recentes para o SQL Server:
Solução alternativa
Para contornar este problema, não utilize o grupo do Windows de vários utilizadores para aceder a SSIS passível de ser protegido. Em vez disso, utilize uma função de base de dados definido pelo utilizador no SQL Server para encapsular a lista de utilizadores do Windows necessária e, em seguida, atribua as permissões para essa função de base de dados.
Para tal, siga estes passos:
-
Criar os logins do Windows necessários para a instância do SQL Server e, em seguida, atribua ao utilizador acesso à base de dados SSISDB. Por exemplo, pode utilizar o Management Studio vai para a segurança, clicando em inícios de sessãoe, em seguida, clicando em Novo início de sessão. Em alternativa, pode utilizar o script seguinte para cada início de sessão de utilizador do Windows:
UTILIZAR principal
GO Criar início de sessão de domínio\nome de utilizador do WINDOWS com DEFAULT_DATABASE =principal GO Utilize SSISDB GO Criar utilizador de domínio\nome de utilizador para início de sessão de domínio\nome de utilizador GO -
Na base de dados SSISDB, crie uma função de base de dados definido pelo utilizador, como ssis_users. Por exemplo, pode utilizar o Management Studio vai bases de dados, clicando em SSISDB, clicando em segurança, clicando em funções, clicando em Funções de base de dados, e, em seguida, clicando em Novo direito de base de dados. Em alternativa, pode utilizar o seguinte script:
Utilize SSISDB
GO Criar função ssis_users GO -
Adicione os utilizadores pretendidos na SSISDB a função ssis_users. Por exemplo, pode utilizar o Management Studio vai bases de dados, clicando em SSISDB, clicando em segurança, clicando em funções, clicando em Funções de base de dados, clicando em Membros da funçãoe, em seguida, clicando em Adicionar. Em alternativa, pode utilizar o seguinte script:
Utilize SSISDB
GO Alterar função ssis_users adicionar membros de domínio\nome de utilizador GO -
O objecto passível de ser protegido no catálogo de serviços de integração com o botão direito, clique em Propriedades, clique em Procurar na página de permissões para adicionar a função de base de dados para as permissões e, em seguida, seleccione conceder ou Negar nas permissões explícitas pretendidas da seguinte forma:
Nota Estas permissões não podem ser suficientes para executar um pacote SSIS com êxito. Cada pacote SSIS é uma estrutura personalizada e poderá ter requisitos específicos adicionais para aceder a determinados servidores e bases de dados ou partilhas para validar ou execute o pacote SSIS com êxito.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Para mais informações, consulte os seguintes tópicos no Web site da Microsoft Developer Network (MSDN):
Catálogo SSIS Caixa de diálogo de propriedades de pasta Caixa de diálogo de propriedades do projecto Caixa de diálogo de propriedades de ambiente Consulte a terminologia utilizada pela Microsoft para descrever actualizações de software.