sql-server - 在所有数据库上授予相同的数据库角色 SQL Server 2008 R2

标签 sql-server security sql-server-2008-r2

有没有办法在所有数据库上授予用户相同的角色?服务器级角色仅向用户授予特定于服务器的选项。我想授予用户对服务器上所有数据库的只读访问权限

最佳答案

sp_MSforeachdb 可能会为你做的伎俩:

EXECUTE master.sys.sp_MSforeachdb '
    use [?];
    declare @user sysname = ''MyUserName''
    if db_name() not in (''master'', ''model'', ''msdb'', ''tempdb'')
    begin
        if not exists (
            select null
            from dbo.sysusers
            where name = @user
        )
        begin
            print ''Adding '' + @user + '' to '' + db_name();
            exec sp_grantdbaccess @user, @user;
        end;
    print ''Granting '' + @user + '' read access to '' + db_name();
    exec sp_addrolemember db_datareader, @user;
    end;
'

关于sql-server - 在所有数据库上授予相同的数据库角色 SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11658149/

相关文章:

c# - 数据库删除后 SQL Server 2008 关闭连接

java - 学习java有什么好方法?

excel - 将 ssis 包中的数据导出到 Excel 目标时出错

sql - sp_whoisactive 导致未知查询 : "Insert Into <table_name> select *,%%bmk%% from <table_name> option (maxdop 1)"

sql-server - 为什么 MS Access 与 SQL Manager 的链接 View 给出不同的结果?

sql-server - 是否可以将 SQL Server session 上下文与 Azure 弹性查询一起使用

c# - 沙盒 AppDomain 中的 SecurityException

javascript - 在现代浏览器中,JavaScript 小书签是否有任何安全限制?

c# - 如何使用 C# 创建新的 SQL Server 2008 R2 登录

sql-server - 在 Linux 上从 node.js 访问 SQL Server