我在两个不同的sql服务器(一个是SqlServer2000,另一个是2008)中有相同的表。
我正在使用sql server management studio。
我希望每次对SqlServer 2000表(table_1)中的表进行插入时,都会发生触发器,并且记录也会插入到SqlServer 2008表(也是table_1)的同一表中。
sqlserver2008被定义为链接服务器,可以使用sqlservermanagementstudio从2000db连接对2008db运行查询和执行插入。
触发器定义如下:
ALTER TRIGGER [dbo].[trgrTable]
ON [dbo].[Table_1]
AFTER INSERT
AS
BEGIN
INSERT INTO [TLVSQL].[AVI_DEV].[dbo].[Table_1](ID, Value)
SELECT INSERTED.ID AS ID, INSERTED.Value AS Value
FROM INSERTED
END
这个
[TLVSQL].[AVI_DEV]
是2008数据库名称。
但每次我在2000表上执行插入时,我都会收到一条消息,说明由于“sqloledb无法启动分布式事务链接服务器…”,插入未能提交。
链接服务器的安全委派定义良好,我将安全凭据显式设置为db_owner的用户/密码。
我做错了什么?有没有其他方法可以满足我的要求?
非常感谢。