usuario una tabla stored sobre procedimientos privilegios permisos para otorgar listar ejecutar datos dar asignar almacenados sql-server sql-server-2005 sql-server-2008

sql-server - una - permisos grant sql server



Acceso de solo lectura a los contenidos del procedimiento almacenado. (5)

Aunque sé que esto es tarde en respuesta a la pregunta, pero para aquellas personas que han venido aquí en busca de una respuesta (tal como hice hace unos minutos) al menos en SQL Management Studio 2014, puede editar la cuenta de usuario y editar la cuenta. Permisos en el área de SEGUROS y marque todas las casillas en la VISTA a las que desea que tengan acceso.

Esto hace lo anterior sin tener que ejecutar scripts.

¿Es posible configurar SQL Server para que los desarrolladores tengan acceso de solo lectura al contenido de los procedimientos almacenados en nuestra base de datos de producción?


Ejemplo de hacer en el nivel de alcance del esquema para dbo.

otorgar la definición de vista en el esquema :: [dbo] a BOB

MSDN


Mi variante para todos los procedimientos de db:

select ''GRANT VIEW DEFINITION ON ['' + schema_name(schema_id) + ''].['' + name + ''] TO '' + ''[domain/username]'' from sys.all_objects where type_desc = ''SQL_STORED_PROCEDURE'' and schema_id <> schema_id(''sys'')


Necesitaba conceder acceso a una cuenta de dominio ... la sintaxis para esto era

conceda la definición de vista en el esquema :: [dbo] a "dominio / BOB"


VIEW DEFINITION privilegio VIEW DEFINITION para esos procesos, consulte aquí http://msdn.microsoft.com/en-us/library/ms175808.aspx

Ahi esta

  • Alcance del servidor

  • Alcance de la base de datos

  • Alcance del esquema

  • Entidades individuales

También puede utilizar una consulta para generar un script. así que si tienes un usuario Bob

select ''GRANT VIEW DEFINITION ON '' + quotename(specific_schema) + ''.'' + quotename(specific_name) + '' TO '' + ''BOB'' from INFORMATION_SCHEMA.routines where routine_type = ''PROCEDURE''

Eso te dará algo como esto, que luego puedes ejecutar

GRANT VIEW DEFINITION ON [dbo].[aspnet_RegisterSchemaVersion] TO BOB GRANT VIEW DEFINITION ON [dbo].[aspnet_CheckSchemaVersion] TO BOB GRANT VIEW DEFINITION ON [dbo].[aspnet_Applications_CreateApplication] TO BOB