为了运行报告,我创建了一个用户,该用户对应用程序创建的所有数据库具有读取权限。问题是该应用程序为每个新项目创建一个新数据库。
有没有办法让该用户自动获得对该服务器上创建的每个新数据库的读取权限?
谢谢
答案1
假设 SQL Server 实例仅用于此应用程序,您可以将用户添加到具有相同权限的模型数据库。模型用作所有新数据库的模型。
答案2
在 CREATE_DATABASE 上使用 DDL 触发器,请参阅http://technet.microsoft.com/en-us/library/ms186406.aspx将一行记录到数据库中保持不变的表中。然后创建一个 SQL 代理作业,查找此表中的新行并执行 GRANT 语句以授予权限。完成后,将该行标记为“已操作”。
通过此解决方案,您仍然可以过滤想要应用操作的数据库。