51CTO技术论坛_中国领先的IT技术社区's Archiver

baosl 发表于 2008-7-23 09:19

求助触发器问题

描述:同一台服务器上安装sql server 2000 和sql server 2005,实例名分别为host和host\data,sa的密码一样.现需要在host  x数据库下的表A中编写触发器,达到insert  host\data  y数据库下的表B
语句为:
create trigger into_b on [dbo].[A]
for insert
set xac_abort on
insert into  host\data.Y.dbo.B(j,k,l)
select a.m,a.n,a.o from inserted
但是在'\'报错.以前在不同服务器相同版本的sql server 2000下写过类似触发器可以成功,但这次是相同服务器,不同版本sqlserver出错
求教高手指点
先谢过!!

怡红公子 发表于 2008-7-23 09:19

[color=red][b]此回复于2008-07-29 18:13被 [url=http://bbs.51cto.com/profile-uid-2806.html]boyi55[/url] 评为最佳答案[/b][/color]

第一,你的链接服务器建立没有?
第二,用[host\data]试试

boyi55 发表于 2008-7-23 11:19

不同实例之间的通信可以通过链接服务器来做。tigger只是在当前实例有效。国为每个实例都有自己的一套用户管理系统。虽然你的帐号什么都一样,但所属的还是两个不同的系统。

[[i] 本帖最后由 boyi55 于 2008-7-23 11:21 编辑 [/i]]

baosl 发表于 2008-7-24 17:32

回复 #3 怡红公子 的帖子

感谢各位!!!
二楼的方法可以[host/data]
不过先要执行  sp_addlinkedserver 存储过程来添加服务器.
再次谢谢了
[quote]
方法
1.建立链接服务器(可以在SSMS里操作也可以用sp_addlinkedserver)
2.通过引用:server.database.schema.table来访问链接服务器上的相关表。
[/quote]

[[i] 本帖最后由 boyi55 于 2008-7-29 18:12 编辑 [/i]]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.