понедельник, 28 мая 2007 г.

Бытрая установка прав на объекты в базе MS SQL


Данный скрипт пробежится по всем объектам и установить разрешение на выполнение всех процедур и функций


селект таблиц и вьюх для роли public


DECLARE @name VARCHAR (400)
DECLARE @xtype VARCHAR (2)
DECLARE @S VARCHAR (400)


DECLARE c CURSOR LOCAL FAST_FORWARD READ_ONLY FOR
SELECT name, xtype FROM sysobjects WHERE xtype NOT IN ('S', 'D', 'PK', 'F') AND crdate > '20050521'


OPEN c
FETCH NEXT FROM c INTO @name, @xtype
WHILE (@@fetch_status -1)
BEGIN
IF @xtype IN ('P', 'FN')
BEGIN
SET @S = 'GRANT EXEC ON ' + @name + ' TO public'
EXEC (@S)
END


IF @xtype IN ('TF', 'IF')
BEGIN
SET @S = 'GRANT SELECT ON ' + @name + ' TO public'
EXEC (@S)
END

IF @xtype IN ('V', 'U')
BEGIN
SET @S = 'GRANT SELECT ON ' + @name + ' TO public'
EXEC (@S)
END
FETCH NEXT FROM c INTO @name, @xtype
END
CLOSE c
DEALLOCATE c


Комментариев нет:

Linux.org.ru News

Вебпланета - все новости

CNews - Издание о высоких технологиях