Jag har ett gäng SP i min databas, nu skulle jag vilja tilldela executerättigheter på alla dessa till en användare. kan jag skriva nåt script eller nåt för att göra detta? SQL 2005? DECLARE @user sysname, @procname sysname, @execstr varchar(max)Rättigheter i SP
Sv: Rättigheter i SP
Du skulle kunna göra ett schema och tilldela rättigheter på det:
CREATE SCHEMA procedurer
CREATE PROCEDURE procedurer.procedurnamn
GRANT EXECUTE ON SCHEMA::procedurer TO theuser
Annars finns bara det jobbiga sättet...
/mickeSv: Rättigheter i SP
DECLARE procur CURSOR FOR SELECT name FROM sys.procedures
SET @user = 'databaseuser'
OPEN procur
FETCH NEXT FROM procur INTO @procname
WHILE @@FETCH_STATUS = 0
BEGIN
SET @execstr = isnull(@execstr, '') + 'GRANT EXECUTE ON ' + @procname + ' TO ' + @user + '; '
FETCH NEXT FROM procur INTO @procname
END
CLOSE procur
DEALLOCATE procur
EXECUTE (@execstr)
You gotta love 'em cursors... Ibland är de bra!
Lycka till!
/Mattias