首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

【DDL触发器】用DDL触发器记录权限变更 的两个有关问题

2012-02-10 
【DDL触发器】用DDL触发器记录权限变更 的两个问题SQL codeCREATE TRIGGER dtr_dba_DBON DATABASE FOR DDL_D

【DDL触发器】用DDL触发器记录权限变更 的两个问题

SQL code
CREATE TRIGGER dtr_dba_DBON DATABASE FOR DDL_DATABASE_LEVEL_EVENTS 


问题1: 对于创建表一级的DDL触发器 能否只在服务器上定义一次( ON ALL SERVER) 而不需要到每个库里增加这个触发器

问题2: 在每个库里定义的触发器 如何保证能对记录表数据有写入权限 ,WITH EXECUTE AS ‘sa' 需要将每个数据库里映射SA用户,太绕了

[解决办法]
探讨

SQL code


CREATE TRIGGER tr_db
ON DATABASE
WITH EXECUTE AS 'sa'
FOR DDL_DATABASE_LEVEL_EVENTS
AS
....

--返回: 消息 15151,级别 16,状态 1,过程 tr_db,第 20 行
--无法对 用户 'sa' 执行 执行身份,因为它不存在,或者您没有所需的权限。



CRE……

热点排行