如何为所有登录/用户/表/架构编写权限脚本

Som*_*Guy 7 sql-server permissions scripting

多年来,我使用了无数脚本和应用程序来生成 SQL Server 数据库的所有权限。我使用过付费和免费工具。我觉得没有一个似乎在每种情况下都是准确的。我只是在寻找一种方法来为给定的数据库生成所有权限,同时确信脚本是正确的并且能够在从另一个实例备份/恢复后使用。有没有人有他们有信心并经常使用的方法

Ken*_*her 5

我有几个我经常编写和使用的存储过程。

它们每个都有三个输出。

  • Principals :数据库/服务器主体和相关信息的列表,包括创建/删除脚本。
  • Role membership :每个数据库/服务器主体所属角色的列表以及添加/删除脚本。
  • Permissions :每个数据库/服务器主体的个人权限列表(执行、插入、更新、连接等)。

显然,Srv sp 用于服务器主体,而 DB sp 用于数据库级主体。DB sp 还具有用于数据库名称的“全部”选项。使用此选项,它会运行并提取所有数据库的所有权限。

注意:这最初是作为研究工具使用的,因此有很多选项可以让您解析数据。只是角色,除了角色之外的一切,只是一个特定的主体名称等。


小智 2

sp_help_revlogin

请参阅MSDN 上的如何在 SQL Server 实例之间传输登录名和密码

去年夏天对我来说效果相当好。