sqlserver跨服务器触发器的写法

sqlserver跨服务器触发器的写法

ID:40754838

大小:297.50 KB

页数:7页

时间:2019-08-07

sqlserver跨服务器触发器的写法_第1页
sqlserver跨服务器触发器的写法_第2页
sqlserver跨服务器触发器的写法_第3页
sqlserver跨服务器触发器的写法_第4页
sqlserver跨服务器触发器的写法_第5页
资源描述:

《sqlserver跨服务器触发器的写法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、触发器跨服务器访问远程服务器----郑建营跨服务器的触发器书写方法引言:电子病历的病人的基本信息,来源于HIS系统的病人基本信息。两个数据库的信息交互,通过HIS表的触发器来实现。但是伴随着业务的增长,HIS数据库和病历数据库可能会部署到不同的服务器上,因此,两个库之间的触发器,必须能满足跨服务器的访问。书写跨服务器的数据访问,必须要对两台服务器进行相关配置和建立远程服务连接(分布事务),具体实施步骤如下:一、启用远程分布式服务1、打开控制面板,找到管理工具,双击打开,如图:启动“DistributedTransactionCoordinator”服务,见下图触发器跨服务器访问远程服务器---

2、-郑建营1、设置MSDTC选项l在管理工具中,找到组建服务,双击打开,找到“我的电脑”,鼠标右键点击,选择“属性”如图:l打开窗口后,选择选择“MSDTC”选项卡l点击“安全性配置”按钮,l网络DTC访问勾选上,允许远程客户端,允许远程管理,允许入站,允许出站,不要求身份验证勾选上。注意:1、以上步骤需要两台服务器都必须配置。2、启动分布式服务后还要打开远程服务器以及本地服务器135端口,因为远程分布式服务需要该端口通讯。启用通讯端口方法看下节。一、启用通讯端口1、打开控制面板,找到管理工具,双击打开,如图:触发器跨服务器访问远程服务器----郑建营1、启用防火墙,点击例外,点击添加程序。找到

3、路径下:C:WINDOWSsystem32msdtc.exe选中:msdtc.exe触发器跨服务器访问远程服务器----郑建营1、添加端口135点击添加端口,如图增加135端口。注意:1、以上步骤需要两台服务器都必须配置。一、建立两台服务器的连接1、建立互访连接execsp_addlinkedserver'emr_server','','SQLOLEDB','192.168.0.10'---创建服务器连接execsp_addlinkedsrvlogin'emr_server','false',null,'sa','146-164-152-'--创建登陆sp_dropserver'his'

4、,'droplogins'--删除服务器连接和登陆,再也不使用了,可以删除。'192.168.0.10':目标服务器,即需要连接的远程服务器名称或IP,即电子病历服务器的名称或IP触发器跨服务器访问远程服务器----郑建营2、书写触发器;例如:CREATETRIGGER[test_user]ON[dbo].[user]FORINSERT,UPDATEASsetxact_abortonupdatebsetname=i.namefromhis.emrdb.[dbo].[user]b,insertediwhereb.id=i.id完成上述三大步骤即可完成触发器的跨服务器访问。一、远程触发器访问示例:

5、-新增同步createtriggertr_insert_authoronauthorforinsertassetxact_abortoninsertsrv2.库名.dbo.author(id,name,telphone)selectid,name,telphonefrominsertedgo--修改同步createtriggertr_update_authoronauthorforupdateassetxact_abortonupdatebsetname=i.name,telphone=i.telphonefromsrv2.库名.dbo.authorb,insertediwhereb.id=i

6、.idgo--删除同步createtriggertr_delete_authoronauthorfordeleteassetxact_abortondeletebfromsrv2.库名.dbo.authorb,deleteddwhereb.id=d.idgo  触发器跨服务器访问远程服务器----郑建营--连接远程/局域网数据(openrowset/openquery/opendatasource)--1、openrowset--查询示例select*fromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--生成本地表select

7、*into表fromopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)--把本地表导入远程表insertopenrowset('SQLOLEDB','sql服务器名';'用户名';'密码',数据库名.dbo.表名)select*from本地表--更新本地表updatebsetb.列A=a.列Afromopenrowset('SQLOLED

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。