que tiene un requisito de SQL Server 2008 en la base de datos de desarrollopermiso Crear procedimiento sólo
- Sólo DBA (que son los propietarios de bases de datos) puede crear, modificar tablas. El desarrollador no debe crear o modificar tablas.
- desarrolladores pueden crear/alteran Procedimiento almacenado funciones/definidas por el usuario en el esquema dbo y pueden ejecutar SP/UDF.
- Los desarrolladores deben tener SELECT, INSERT, DELETE, UPDATE en tablas ( tablas en el esquema dbo
cómo lograr este comando GRANT usando
encontrado una solución de muestra de Google, pero aún tiene problema
CREATE LOGIN testdev WITH PASSWORD = 'sldkjlkjlkj 987kj//'
CREATE USER testdev
GRANT ALTER ON SCHEMA::dbo TO testdev
GRANT CREATE PROCEDURE TO testdev
GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO testdev
CREATE TABLE mysig (a int NOT NULL)
EXECUTE AS USER = 'testdev'
go
CREATE PROCEDURE slaskis AS PRINT 12
go
CREATE TABLE hoppsan(a int NOT NULL) -- FAILS!
go
INSERT mysig (a) VALUES(123)
go
REVERT
go
DROP PROCEDURE slaskis
DROP TABLE mysig
DROP USER testdev
DROP LOGIN testdev
La sintaxis anterior es capaz de bloquear el desarrollador para crear una tabla pero no puede bloquear el desarrollador para usar SSMS d diseñar y alterar la tabla.
Gracias.
en primer lugar ¿Tiene separados por grupos de DBA y desarrolladores? – hgulyan
Si publica código o XML, ** por favor ** resalte esas líneas en el editor de texto y haga clic en el botón "código" (101 010) en la barra de herramientas del editor para formatear y sintaxis y resaltarlo. –
hgulyan: Sí, lo hice tienen diferentes grupos de usuarios para DBA y desarrolladores – mengchew0113