利用Sqlserver2000数据转换服务.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

利用Sqlserver2000数据转换服务(DTS)实现数据库间数据自动同步

1、企业管理器中,右键目标数据库;所有任务;导入数据;设置源数据、目标数据;下一步,选“用一条查询指定要传输的数据”;下一步,输入检索源数据的sql语句,其中可用“?”代替参数,点分析按钮,看语句是否正确;下一步,如图:

点击结果右边下拉箭头,选择目标数据库中的目标表;点击转换按钮,如图:

选择“在目的表中追加行”;确定;下一步,如图:

取消“立即运行”、勾选“调度DTS包”、“保存DTS包”到“sqlserver”。

下一步,如图:

指定包名,所有者密码为以后修改包时密码,用户密码为执行包时密码,位置服务器等为指定该包存到哪个sqlserver服务器中(前面选择了存到sqlserver)。完成。在企业管理器中,展开“数据转换服务”,“本地包”,即可见刚创建的包,如图:

这一个包,我们只让它负责检索数据、转换数据、存入数据(即数据处理),必须带参数执行它。

2、按实际需要修改数据转换包。

右键刚建的数据包,选择“设计包”,打开窗口如图:

双击“连接1”、“连接2”可分别修改源数据库、目标数据库的连接参数,我们这里双击连接间的方向线(或右键该线,选择属性),打开转换数据任务属性窗口如图:

点击“参数?”按钮,点击“创建全局变量”,设置变量名及类型(图中设置的参数不适合本文);然后回到“参数映射”窗口,指定对应“参数1”、“参数2”的全局变量。

在“”窗口转换标签可以看到sql语句产生的数据列与目标表的列的对应关系:

3、建一个存储过程,用于按需求生成参数,执行数据处理包。存储过程主要代码可类似:

Createprocedurepf_doasBegin

Declare@nfint

Declare@svarchar(100)

Select@nf=(Selectmax(nf)fromgz)If@nfisnotnull

Begin

Select@nf=@nf+1

Select@s=dtsrun/S保存数据转换包的服务器名/E/M包用户密码/N数据转换包名/A全局变量名:3=+@nf

EXECmaster.dbo.xp_cmdshell@send

end

其中dtsrun使用工具的参数,可以在sqlserver帮助中查到。其中双引号里的中文名用实际值替换。参数可以是多个,对应前面包中的设置名,以及sql语句中的“?”顺序。

4、再建一个用于计划执行的包,用于计划任务调度。

在企业管理器,数据转换服务,本地包中,右键建包。先建一个连接,连接到前面存储过程所在的数据库(图中local),再建一个“执行SQL任务”的任务,代码为执行刚建的存储过程。如图:

5、设置任务执行计划

企业管理器,数据转换服务,本地包,用于执行的包上右键,选择“调度包”,打开窗口如图:

设置执行计划,可以一次性,也可以长期执行。执行条件、是否实际执行业务均在存储过程中判断、处理。每次修改调度,都会在企业管理器—管理—SQLserver代理—作业中产生计划任务,该计划任务可以手工删除多余的,可手工修改启动时间、执行次数、是否有效等等

(即可单独管理),也可删除重新调度产生。

至此,利用sqlserver数据库本身的功能,即可实现不同数据库间同步(异步处理)数据。可以省却单独编写中间应用服务程序来收集查询处理数据的麻烦。修改、维护相对简单许多,利用存储过程,对数据处理效率也相对高许多。

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档