1

先决条件:

有用 Delphi32 编写的客户端/服务器应用程序。RDBMS 是 SQL Server 2005。某些应用程序功能需要在目标数据库中创建/删除触发器(从应用程序使用 ad hoc DDL 语句)。

问题:

如果用户属于角色 sysadmin,则创建/删除触发器没有问题。但是,这被认为对于应用程序用户来说是一个过于宽松的角色。

问题:

  • 可用于创建/删除触发器的最低标准(即最严格的)SQL Server 角色是什么?
  • 创建自定义角色而不是使用标准角色会构成解决此问题的更细粒度的方法吗?
4

1 回答 1

3

根据授权的范围(数据库中的任何触发器、模式或特定表中的任何触发器),有各种选项。

通常,SQL 操作所需的权限记录在 SQL 参考中。例如,CREATE TRIGGER对于 SQL 2008,请参见此处(向下滚动到“权限”),在这种情况下:

DML 触发器需要对要在其上创建触发器的表或视图具有 ALTER 权限

您可以创建一个仅授予您想要的权限的角色,然后将用户/组添加到该角色,因此最小角色是您创建的角色,仅具有您希望允许其成员的特定访问权限。

于 2009-08-03T10:37:50.210 回答