查询权限用户 : exec sp_helprotect @username = 'test'
sysobjects 表中各字段的意义 。
- C:检查约束。
- D:默认的约束
- F:外键约束
- L:日志
- P:存储过程
- PK:主键约束
- RF:复制过滤存储过程
- S:系统表格
- TR:触发器
- U:用于表格。
- UQ:独特的约束。
- V:视图
- X:被扩展的存储过程
1 赋予jrzsfc_mx对所有表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_mx;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
2 赋予jrzsfc_mx对所有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_mx;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
3 赋予jrzsfc_mx对所有函数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_mx;')
FETCH NEXT FROM ACUR INTO @NAME
END
CLOSE ACUR
DEALLOCATE ACUR
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-608847/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-608847/
本文介绍了一种批量授予SQL Server数据库用户特定权限的方法,包括对所有表的SELECT、INSERT、UPDATE、DELETE权限,对非系统存储过程的EXECUTE权限,以及对所有函数的EXECUTE权限。
1874

被折叠的 条评论
为什么被折叠?



