栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL Server-如何授予对登录的所有数据库的读取访问权限?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL Server-如何授予对登录的所有数据库的读取访问权限?

一种方法是在SSMS的查询菜单上设置“结果为文本”,然后执行以下操作。

它实际上并没有进行更改,而是生成了一个脚本供您查看和执行。

SET NOCOUNT ON;DECLARE @user_name    SYSNAME        , @login_name SYSNAME;SELECt @user_name = 'user_name',       @login_name = 'login_name'SELECT '    USE ' + QUOTENAME(NAME) + ';    CREATE USER ' + QUOTENAME(@user_name)       + ' FOR LOGIN ' + QUOTENAME(@login_name)       + ' WITH DEFAULT_SCHEMA=[dbo];    EXEC sys.sp_addrolemember      ''db_datareader'',      ''' + QUOTENAME(@user_name) + ''';    EXEC sys.sp_addrolemember      ''db_denydatawriter'',      '''       + QUOTENAME(@user_name) + ''';GO'FROM   sys.databasesWHERe  database_id > 4       AND state_desc = 'ONLINE'

或者,你可以看看

sys.sp_MSforeachdb
这里或亚伦Bertrand的改进版本在这里

如果运行此命令时未看到所有字符,请打开“文本查询选项”,然后检查“每列中显示的最大字符数”设置。确保将其设置为足够大的值以显示所有字符。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/441450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号