Бытрая установка прав на объекты в базе 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
Комментариев нет:
Отправить комментарий