作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 SQL 2008 资源管理器编写分类器函数。我想使用用户创建的数据库角色来确定用户是否应该进入特定的工作负载组。有问题的登录名是 SQL 登录名。我不能使用 IS_MEMBER(),因为 IS_MEMBER 将自身限制为当前数据库上下文(在本例中为 master)。我不能使用 [user database].sys.database_principals 因为分类器函数必须是模式绑定(bind)的(因此将查找限制为当前数据库上下文)。此外,该函数引用的任何 View 也必须是模式绑定(bind)的,这意味着我无法在 master 中创建 View 来引用用户数据库的安全 View 。
这里的目标是能够基本上从 master 执行 IS_MEMBER() 以检查另一个数据库中的角色。
最佳答案
您可以在数据库中创建一个 DDL 触发器,以更新 master 中的表,以便您在其中也拥有所有用户/组信息。然后,您可以对此进行查询。您可能至少希望将触发器附加到 ADD_ROLE_MEMBER 和 DROP_ROLE_MEMBER。
我刚刚开始与资源管理器合作,所以如果我遇到了一种“更清洁”的方式,我会再次在这里发帖。
关于sql - 如何基于数据库角色构建资源调控器分类器功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842930/
我是一名优秀的程序员,十分优秀!