Síntomas
Imagine el siguiente escenario:
-
Ejecutar una instancia del catálogo de servicios de integración y catálogo SSISDB en 2014 de SQL Server o en Microsoft SQL Server 2012.
-
Conceder permisos a los miembros del grupo de Windows para que tengan acceso a un catálogo entorno, proyecto o carpeta asegurable elemento de SSIS.
Nota: Puede conceder los permisos de cualquiera de las siguientes maneras:-
Utilice Management Studio. Para ello, (ratón) en el objeto en el catálogo de servicios de integración, seleccione Propiedadesy, a continuación, en la página permisos , desplácese hasta el grupo, agregue el grupo y, a continuación, seleccione los permisos de ese grupo.
-
Llame el siguiente procedimiento almacenado:
[SSISDB].[catalog].[grant_permission]
-
-
Un usuario de Windows que es miembro del grupo de Windows intenta ver y ejecutar los paquetes en la base de datos SSISDB en el catálogo de servicios de integración mediante Management Studio o el procedimiento almacenado.
En este escenario, el usuario no puede ver los paquetes a los que se hayan concedido permisos y no puede validar o ejecutar esos paquetes.
Causa
Este problema se produce debido a un problema en las vistas SSISDB internos. Esto impide que el usuario tiene los permisos efectivos esperados cuando los permisos concedidos mediante la pertenencia a grupos de Windows.
Solución
El problema se solucionó primero en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 de SQL Server de 2014/en-us/help/2931693
Actualización acumulativa 7 para SQL Server 2012 SP1/en-us/help/2894115
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de la seguridad que se incluyeron en la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
-
Actualización acumulativa más reciente para SQL Server de 2014
-
Actualización acumulativa más reciente para SQL Server 2012 SP1
Solución alternativa
Para evitar este problema, no utilice el grupo de Windows de los distintos usuarios para tener acceso a SSIS asegurables. En su lugar, utilice una función definida por el usuario de base de datos de SQL Server para encapsular la lista de usuarios de Windows es necesaria y, a continuación, asigne los permisos a dicha función de base de datos.
Para ello, siga estos pasos:
-
Crear inicios de sesión de Windows necesarios a la instancia de SQL Server y, a continuación, proporcionar al usuario acceso a la base de datos SSISDB. Por ejemplo, puede utilizar Management Studio por va a seguridad, haga clic en inicios de sesióny, a continuación, haga clic en Nuevo inicio de sesión. O bien, puede utilizar la siguiente secuencia de comandos para cada inicio de sesión de usuario de Windows:
UTILIZAR principal
IR
CREAR inicio de sesión de dominio\nombre de usuario de WINDOWS con DEFAULT_DATABASE =maestro
IR
Utilice SSISDB
IR
Crear usuario dominio\nombre de usuario de inicio de sesión de dominio\nombre de usuario
IR -
En la base de datos SSISDB, cree una función de base de datos definida por el usuario, como ssis_users. Por ejemplo, puede utilizar Management Studio por va a bases de datos, haciendo clic en SSISDB, haga clic en seguridad, haciendo clic en funciones, haciendo clic en Funciones de base de datosy, a continuación, haga clic en Nueva función de base de datos. O bien, puede utilizar la secuencia de comandos siguiente:
Utilice SSISDB
IR
Crear rol ssis_users
IR -
Agregar los usuarios deseados en SSISDB en la función ssis_users. Por ejemplo, puede utilizar Management Studio yendo a bases de datos, haciendo clic en SSISDB, haga clic en seguridad, haciendo clic en funciones, haciendo clic en Funciones de base de datos, haciendo clic en los Miembros de la función, y haciendo clic en Agregar. O bien, puede utilizar la secuencia de comandos siguiente:
Utilice SSISDB
IR
ALTER ROLE ssis_users Agregar miembro dominio\nombre de usuario
IR -
Haga clic derecho en el objeto asegurable en el catálogo de servicios de integración, haga clic en Propiedades, haga clic en Examinar en la página de permisos para agregar el rol de base de datos en los permisos y a continuación, seleccione conceder o Denegar los permisos explícitos deseado como sigue:
Nota: Estos permisos pueden no ser suficientes para ejecutar correctamente un paquete SSIS. Cada paquete SSIS es un diseño personalizado y puede tener requisitos específicos adicionales para tener acceso a determinados servidores y bases de datos o recursos compartidos para validar o ejecutar correctamente el paquete SSIS.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Referencias
Para obtener más información, vea los temas siguientes en el sitio Web de Microsoft Developer Network (MSDN):
Catálogo SSIS
Cuadro de diálogo Propiedades de carpeta
Cuadro de diálogo de propiedades de proyecto
Cuadro de diálogo de propiedades de entorno
Vea la terminología que utiliza Microsoft para describir las actualizaciones de software.