资源描述:
《Sql2005,sql2000跨数据库操作解决方案资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、参考文献Sql2005,sql2000跨数据库操作解决方案思路:在本地数据库的表中创建update的触发器,在有数据更新时同时更新远程服务器上得数据库。这需要启用双方服务器上得分布式事务MSDTC服务。1、在要数据同步更新的表上创建触发器:Createtrigger触发器名on数据表名forupdateasifupdate(字段名1)orupdate(字段名2)or......beginSETXACT_ABORTONBEGINDISTRIBUTEDTRANSACTIONupdatersetr.字段1=i.字段1,r.字段2=i.字段2fr
2、om[远程数据库IP].数据库名.dbo.数据表名asrinnerjoininsertedionr.关联字段=i.关联字段COMMITTRANend1、在本地机器上建立远程数据库的链接数据库:EXEC sp_addlinkedserver '远程数据库IP','SQLServer'EXEC sp_addlinkedsrvlogin '远程数据库IP','false',null,'访问远程数据库的账号','访问远程数据库的密码'执行完毕后可以通过查询远程数据库某表来测试一下是否链接建立成功selecttop1*from[远程数据库IP].数
3、据库名.dbo.数据表名如果有数据返回则说明链接建立成功。否则通过以下语句来删除链接后重新建立:删除链接:EXECsp_serveroption‘远程数据库IP’,'dataaccess','true' execsp_droplinkedsrvlogin‘远程数据库IP’,nullexecsp_dropserver‘远程数据库IP’ 2、启动两个服务器上的MSDTC服务: MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统MicrosoftPerson
4、alWebServer和MicrosoftSQL参考文献Server。该服务用于管理多个服务器.位置:控制面板--管理工具--服务--DistributedTransactionCoordinator依存关系:RemoteProcedureCall(RPC)和SecurityAccountsManager 建议:一般家用计算机涉及不到,除非你启用MessageQueuing服务,可以停止。解决办法:(1)在windows控制面版-->管理工具-->服务-->DistributedTransactionCoordinator-->属性-->
5、启动(2)在CMD下运行"netstartmsdtc"开启服务后正常。 注:如果在第1步DistributedTransactionCoordinator无法启动,则是因为丢失了日志文件,重新创建日志文件,再启动就行了。重新创建MSDTC日志,并重新启动服务的步骤如下: (1)单击"开始",单击"运行",输入cmd后按"确定"。 (2)输入:msdtc-resetlog(注意运行此命令时,不要执行挂起的事务) (3)最后输入:netstartmsdtc回车,搞定!双方电脑做如下配置(windows200
6、3系统):2.单击“添加/删除Windows组件”。 3.选择“应用程序服务器”,然后单击“详细信息”。 4.选择“启用网络DTC访问”,然后单击“确定”。 5.单击“下一步”;单击“完成”。 6.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"。7.右键“我的电脑”->“属性”,在MSDTC选项卡中,点击“安全配置”按钮。8.在安全配置窗口中做如下设置: (1)选中“网络DTC访问” (2)在客户端管理中选中“允许远程客户端”“允许远程管理” (3)在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证” (4)
7、保证DTC登陆账户为:NTAuthorityNetworkService (5)单击"确定"。这样将会提示您"MSDTC将会停止并重新启动.所有的依赖服务将被停止。请按'是'继续"。单击"是"继续9.关闭网络防火墙(或者开放相应的端口135或用services.msc打开服务启动TCP/IPNetBIOSHelper服务)双方电脑做如下配置(windows2008系统):2.单击“控制面板”。3.打开“程序和功能”。4.单击“打开或关闭windows功能”。5.展开“角色”->“应用程序服务器”->“组件服务”->右键“本地DTC”6
8、.参考文献选择“本地DTC”的“安全选项卡”,做如下设置: (1)选中“网络DTC访问” (2)在客户端管理中选中“允许远程客户端”“允许远程管理” (3)在事务管理通讯中选“允许入站”“允许