sql中更新一个数据库表中的数据时,同时更新链接服务器中一个数据库的某个表,怎么写

小白619 2021-04-30 02:47:57
需求是:sql中更新一个数据库表中的某个数据时,同时根据这个数据取更新链接服务器中一个数据库的某个表中的某个字段值
尝试写过触发器,但如果要更新链接服务器中数据库的表,需要用到分布式事务,需要开放135端口,但135端口开放的话不安全,一般服务器是禁用的,请问还有什么写法吗?

可以再触发器中调用存储过程吗?

测试数据如下:

第一个数据库:
create table A
(
id int,
name varchar(500),
remark varchar(500)
)

insert into A values
(1,'zhangsan','数学'),
(2,'lisi','英语'),
(3,'wangwu','语文')

链接服务器数据库:
create table B
(
id int,
name varchar(500),
remark varchar(500)
)

insert into B values
(1,'zhangsan','英语'),
(3,'wangwu','体育')


修改A中的remark字段,根据A.id=[LINK2.25].test.dbo.B.id修改B的remark字段,改成与A相同

请教各位大神,怎么写呢
...全文
124 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 版主 2021-04-30
  • 打赏
  • 举报
回复
触发器中更新远程表,风险比较大。不推荐。 最好程序来完成。
morliz子轩 2021-04-30
  • 打赏
  • 举报
回复
有链接服务器地址,直接实现Update_Trigger就可以,不需要开放发布式事务。
唐诗三百首 2021-04-30
  • 打赏
  • 举报
回复
触发器实现, 在触发器中关联更新. 至于安全问题, 可以设置两边服务器的Windows防火墙规则: 访问135端口的允许远程机器只限对方的IP.

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧