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

关于sqlserver2008触发器同步更新的有关问题,

2012-08-11 
关于sqlserver2008触发器同步更新的问题,急表A1属于数据库A,表B1属于数据库B,现在用户s向A1插入数据,触发

关于sqlserver2008触发器同步更新的问题,急
表A1属于数据库A,表B1属于数据库B,现在用户s向A1插入数据,触发触发器更新B1,但是用户s只能操作数据库A,并没有操作数据库B的权限。此时触发器就会报错,“服务器主体无法在当前安全上下文下访问数据库”,大家有什么解决的办法啊?为安全计,我设定的s就没有B的权限

[解决办法]
使用execute as 这个功能,使用方法看联机丛书。
[解决办法]

SQL code
第一种情况: 如果是在同一实例同一服务器上:将S用户 同时映射到 A、B两个库上,对操作的表有同样的权限。触发器中对 B1的操作要写成类似update B.DBO.B1 set col=? where col1=?第二种情况: 不同服务器上: A、B两个库上都有同样的S用户和对应的权限。然后用该用户建立这两个服务器之间的 链接。然后在触发器中对 B1的操作写类似的update [B服务器的IP地址].[B].[DBO].[B1] set col=? where col1=? 

热点排行