In Sq Server 2000/2005 habe ich ein paar NT-Benutzergruppen, die Zugriff auf Hunderte von gespeicherten Prozeduren gewährt werden müssen.Zugriff auf Hunderte von SPs gewähren?
Gibt es einen schönen einfachen Weg, das zu tun?
In Sq Server 2000/2005 habe ich ein paar NT-Benutzergruppen, die Zugriff auf Hunderte von gespeicherten Prozeduren gewährt werden müssen.Zugriff auf Hunderte von SPs gewähren?
Gibt es einen schönen einfachen Weg, das zu tun?
Hier ist ein Skript, das ich für Berechtigungen für viele Verfahren gewähren:
DECLARE @DB sysname ; set @DB = DB_NAME()
DECLARE @U sysname ; set @U = QUOTENAME('UserID')
DECLARE @ID integer,
@LAST_ID integer,
@NAME varchar(1000),
@SQL varchar(4000)
SET @LAST_ID = 0
WHILE @LAST_ID IS NOT NULL
BEGIN
SELECT @ID = MIN(id)
FROM dbo.sysobjects
WHERE id > @LAST_ID AND type = 'P' AND category = 0
SET @LAST_ID = @ID
-- We have a record so go get the name
IF @ID IS NOT NULL
BEGIN
SELECT @NAME = name
FROM dbo.sysobjects
WHERE id = @ID
-- Build the DCL to do the GRANT
SET @SQL = 'GRANT EXECUTE ON ' + @NAME + ' TO ' + @U
-- Run the SQL Statement you just generated
EXEC master.dbo.xp_execresultset @SQL, @DB
END
END
Sie die Auswahl ändern zu bekommen, um eine bestimmte Gruppe von gespeicherten Procs.