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
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