我需要编写一个脚本将一个特定的数据库角色从一台 SQL 服务器复制到另一台。
是否有一种简单的方法来生成创建角色和所有角色权限的脚本?
最佳答案
您可以使用如下脚本获得所需的内容:
declare @RoleName varchar(50) = 'RoleName'
declare @Script varchar(max) = 'CREATE ROLE ' + @RoleName + char(13)
select @script = @script + 'GRANT ' + prm.permission_name + ' ON ' + OBJECT_NAME(major_id) + ' TO ' + rol.name + char(13) COLLATE Latin1_General_CI_AS
from sys.database_permissions prm
join sys.database_principals rol on
prm.grantee_principal_id = rol.principal_id
where rol.name = @RoleName
print @script
关于sql - 如何编写SQL Server数据库角色脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6300740/