Sql2005,sql2000跨数据库操作解决方案.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Sql2005,sql2000跨数据库操作解决方案.doc

Sql2005,sql2000 跨数据库操作 解决方案 思路: 在本地数据库的表中创建update的触发器,在有数据更新时同时更新远程服务器上得数据库。这需要启用双方服务器上得分布式事务MSDTC服务。 1、在要数据同步更新的表上创建触发器: Create trigger 触发器名 on 数据表名 for update as if update (字段名1) or update (字段名2) or ...... begin SET XACT_ABORT ON BEGIN DISTRIBUTED TRANSACTION update r set r.字段1=i.字段1,r.字段2=i.字段2 from [远程数据库IP].数据库名.dbo.数据表名 as r inner join inserted i on r.关联字段=i.关联字段 COMMIT TRAN end 1、在本地机器上建立远程数据库的链接数据库: EXEC?sp_addlinkedserver?远程数据库IP,SQL Server EXEC?sp_addlinkedsrvlogin?远程数据库IP,false,null,访问远程数据库的账号,访问远程数据库的密码 执行完毕后可以通过查询远程数据库某表来测试一下是否链接建立成功 select top 1 * from [远程数据库IP].数据库名.dbo.数据表名 如果有数据返回则说明链接建立成功。 否则通过以下语句来删除链接后重新建立: 删除链接: EXEC sp_serveroption ‘远程数据库IP’, data access, true? exec sp_droplinkedsrvlogin ‘远程数据库IP’,null exec sp_dropserver ‘远程数据库IP’ ? 2、启动两个服务器上的MSDTC服务: ?MSDTC(分布式交易协调器),协调跨多个数据库、消息队列、文件系统等资源管理器的事务。该服务的进程名为Msdtc.exe,该进程调用系统Microsoft Personal Web Server和Microsoft SQL Server。该服务用于管理多个服务器 . 位置:控制面板--管理工具--服务--Distributed Transaction Coordinator 依存关系:Remote Procedure Call(RPC)和Security Accounts Manager? 建议:一般家用计算机涉及不到,除非你启用Message Queuing服务,可以停止。 解决办法: (1)在windows控制面版--管理工具--服务--Distributed Transaction Coordinator--属性--启动 (2)在CMD下运行net start msdtc开启服务后正常。 ??????? 注:如果在第1步Distributed Transaction Coordinator 无法启动,则是因为丢失了日志文件,重新创建日志文件,再启动就行了。重新创建 MSDTC 日志,并重新启动服务的步骤如下: ????? (1) 单击开始,单击运行,输入 cmd 后按确定。 ????? (2) 输入:msdtc -resetlog (注意运行此命令时,不要执行挂起的事务) ????? (3) 最后输入:net start msdtc 回车,搞定! 双方电脑做如下配置(windows2003系统): 2. 单击“添加/删除 Windows 组件”。? 3. 选择“应用程序服务器”,然后单击“详细信息”。? 4. 选择“启用网络 DTC 访问”,然后单击“确定”。? 5. 单击“下一步”;单击“完成”。? 6. 在开始-运行中输入dcomcnfg.exe启动组件服务。 7. 右键“我的电脑”-“属性”,在MSDTC选项卡中,点击“安全配置”按钮。 8. 在安全配置窗口中做如下设置: ?(1)选中“网络DTC访问” ?(2)在客户端管理中选中“允许远程客户端”“允许远程管理” ?(3)在事务管理通讯中选“允许入站”“允许出站”“不要求进行验证” ?(4)保证DTC登陆账户为:NT Authority\NetworkService  ?(5)单击确定。这样将会提示您MS DTC 将会停止并重新启动.所有的依赖服务将被停止。请按是继续。单击是继续 9. 关闭网络防火墙(或者开放相应的端口135或用services.msc打开服务启动TCP/IP NetBIOS Helper服务) 双方电脑做如下配置(windows2008系统): 2. 单击“控制面板”。 3. 打开“程序和功能”。 4. 单击“打开或关闭windows功能”。 5. 展开“角色”-“应用程序服务器”-“组件服务”-右键

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档