概述
论坛上一直看到有朋友问
1 我的数据库一个表怎么定期同步到另一个表
2 我的局域网络上两台sql server服务器上的数据库怎么同步
3 我的数据库迁移,n多用户登录信息怎么备份
4 我怎么定期去调用windows上的一个程序
诸如此类很多...很多情况写SQL代码当然可以达到效果(事实上就没有写代码达不到的),但是写代码不一定意味着效率高。你可能要面对很多亢长的代码,还有很多可能从来没有涉及的系统存储过程。就拿问题一来说,论坛上说法很多,有建议用触发器的,有建议用select * into的,甚至有人建议用复制发布订阅的。那些方法不是不可以,但是往往会带来一系列问题,比如自增列的消失,索引必须重建利用等等。关键是效率不一定高。不管你是数据库管理员还是数据库开发,能省时间总不错吧.
SQL Server有自带强大的工具DTS/SSIS(因为DTS太好用了,微软2005后决定把它单独做成一个扩展,而不是只是SQL Server的一个功能属性)合理使用这个工具很多问题根本不是问题,这篇文章将讨论一下DTS/SSIS的一个好用又方便特性--复制SQL Server对象(如果要全面论述DTS/SSIS,那足可以写一本书了,我只是以点代面,抛砖引玉,大家工作学习中可以继续发掘,共享经验),数据转换任务估计大家比较熟悉不讨论了,还有其实数据库的导入导出数据就是利用的调度dts包的特性来进行的,今天写点可能大家不太常用的.
本篇文章主要解决数据库及其对象的复制传输,(不是说只能整个复制数据库,你只想复制存储过程,视图,自定义函数也完全可以)以后看看反响如何再写几篇,比如备份用户登录信息,dts自带的复制数据库向导(和今天说的不一样),dts和windows交互,多层dts综合应用等.本来要写个FTP相关的前些天看到Roy写了,就不写了.
废话不多说上图(我这边英文版,我尽量翻译但是不一定准确,仅作参考)
written by:billpu
一 拖出Copy SQL Server Oject Task图标(中文好像叫复制对象任务)
二 配置源和目标信息
这里没什么好说的,直接看图吧
三 设置复制的具体属性,这里重点说一下
(1) 创建目标(表,视图,存储过程,约束等)
- 删除目标(默认选项,如果存在对象就删除)
- 包括依赖的组件(默认选项,比如你复制一个自定义函数,dts会把相关的表传送过去)
- 包括扩展属性(非默认选项,复制SQL Server的扩展属性,比如字段的描述信息等)
(2) 复制数据,这边就不多说了
- 替换 (默认选项)
- 追加
(3) 使用collation(默认选项)
不清楚具体应该怎么翻,使用排序规则吧
作用是对排序规则进行转换也就是转换成目标的排序规则(从源代码页转换到目标代码页),如果不选择这个选项,数据可能造成乱码或者错误.
(4) 复制所有目标(默认选项)
如果你是想复制数据库级别,那你选上就是了.
如果你只是想传输部分对象,那就取消这个选项,同时右边的选择对象(select objects)会亮起,里面可以设置具体的复制对象比如某几个表,存储过程,视图等,这里就不单独截图了,大家一看就知道的.
(5)使用默认选项
同样取消,右边的按钮Option会亮起,这里我觉得有必要单独说明一下,放后面了,请耐心收看.
四 配置复制选项(截图水平不高,图比较大,请见谅)
(1) 安全选项
- 复制数据库用户及角色
- 复制SQL Server登录
- 复制对象级别权限(copy object-level permissions)
前面两个选项非常有用,复制用户角色登录信息等到目标实例(如果和源实例不同),能很好的解决正常备份还原产生的孤立用户问题
复制对象级别权限:复制对象的权限设定到目标数据库
(2)表选项
复制索引,全文索引等,基本一看就知道
用unicode生成脚本:使用unicode编码生成脚本
(3)复制对象的时候加用括号标识,这个看上去似乎有点莫名其妙 呵呵 至少我是这么认为的
五 运行DTS包
按顶上那个小三角
6 定期调度DTS包
如果你的DTS包需要定期执行,可以借助作业,方法很简单启动windows的Agent服务后,右键单击包名(保存后),选Schedule Package,弹出窗口如下,方法这边就不罗嗦了,一看就知道
结束语
如果对DTS操作稍微熟悉的话,复制数据库估计1分钟时间就可以设定完毕.可以节省大量的时间,并且可以实现部分对象复制,相关用户传输等.
缺点也明显,双方不能互访的时候没法完成调度,这时候就只能借助备份还原
希望以后CSDN上能多看到点讨论DTS/SSIS文章
最后
以上就是狂野发夹为你收集整理的SQL Server DTS/SSIS 滥用之复制数据库对象的全部内容,希望文章能够帮你解决SQL Server DTS/SSIS 滥用之复制数据库对象所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复