--1 赋予jrzsfc对所有用户表select,insert,update,delete权限
DECLARE ACUR CURSOR FOR
SELECT name FROM SYSOBJECTS WHERE TYPE='U'
DECLARE @NAME VARCHAR(100)
DECLARE @SQL VARCHAR(512)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant select,insert,delete,update ON ['+ @NAME+'] TO jrzsfc;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
--2 赋予jrzsfc对所有用户视图select,insert,update,delete权限
DECLARE ACUR CURSOR FOR
SELECT name FROM SYSOBJECTS WHERE TYPE='V' and status>0
DECLARE @NAME VARCHAR(100)
DECLARE @SQL VARCHAR(512)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant select,insert,delete,update ON ['+ @NAME+'] TO jrzsfc;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
--3 赋予jrzsfc对所有procedure execute权限,剔除系统存储过程
DECLARE ACUR CURSOR FOR
SELECT name FROM SYSOBJECTS WHERE TYPE='P' and name not like 'dt%'
DECLARE @NAME VARCHAR(100)
DECLARE @SQL VARCHAR(512)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant execute ON ['+ @NAME+'] TO jrzsfc;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
--4 赋予jrzsfc对所有標量值函数execute权限
DECLARE ACUR CURSOR FOR
SELECT name FROM SYSOBJECTS WHERE TYPE='FN'
DECLARE @NAME VARCHAR(100)
DECLARE @SQL VARCHAR(512)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant execute ON ['+ @NAME+'] TO jrzsfc;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
--5 賦予jrzsfc對表值函數select權限
DECLARE ACUR CURSOR FOR
SELECT name FROM SYSOBJECTS WHERE TYPE='TF'
DECLARE @NAME VARCHAR(100)
DECLARE @SQL VARCHAR(512)
OPEN ACUR
FETCH NEXT FROM ACUR INTO @NAME
WHILE @@fetch_status=0
BEGIN
EXEC ('grant select ON ['+ @NAME+'] TO jrzsfc;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16754036/viewspace-676374/
,如需转载,请注明出处,否则将追究法律责任。