标题:SQL触发器是否可以不用SA用户
只看楼主
sangyuwang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-16
 问题点数:0 回复次数:2 
SQL触发器是否可以不用SA用户
我在SQL Server的一个数据库的一个表上用了一个触发器使用的SA的用户,另外有两个WEB程序操作这个数据库,使用的用户不是SA的,并且是两个不同的用户(dss和dds),现在这两个WEB程序的用户只能换为SA可以正常使用,另外我还有一个C/S程序也是使用这个数据库,加了这个触发器后也报错.请问一下,一个数据库有3个不同用户操作这个表,那么我触发器的用户该如何设置?
触发器的作用是这个表的数据变后立即更新到另一个备用数据库的相应表中。
备用数据库在另一台服务器,因此需要用户登录。
主要代码如下:
exec master..xp_cmdshell 'isql /S"192.168.6.2" /U"sa" /P"358" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output
exec master..xp_cmdshell 'net start msdtc',no_output
begin distributed transaction
delete from openrowset('sqloledb','192.168.6.2';'sa';358',xssm.dbo.pxssm) where xh in(select xh from deleted)
insert into openrowset('sqloledb','192.168.6.2';'sa';358',xssm.dbo.pxssm) select * from inserted
搜索更多相关主题的帖子: SQL 触发器 用户 
2007-07-16 16:31
sangyuwang
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-7-16
得分:0 
回复:(sangyuwang)SQL触发器是否可以不用SA用户
有3个不同的用户用3个不同的前台程序操作一个数据库,未加触发器前一切正常。现在我为了做时时备份写了一个触发器,如果我直接使用企业管理器在被备份的数据库中增加/删除/修改一条记录,通过触发器可以同步到另一个数据库中。但是这时前台的3个程序使用原来的3个用户均不能正常工作,如果改为sa用户,则可以正常工作。(注,触发器使用的是sa用户,并且由于要启动MSDTC进程,因此好象只能用SA用户吧)。现在的问题是我那3个前台程序如不改用户为SA,如何让他们可以正常工作。
2007-07-17 08:18
Kendy123456
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:62
帖 子:2720
专家分:0
注 册:2007-1-3
得分:0 
给你的3个非SA用户加上对应备份数据库的读写操作权限

2007-07-20 12:06



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-155808-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.138887 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved