概述sql
本篇文章主要介绍SQL DELTA的简单使用。为了可以更加明了的说明其功能,本文将经过实际项目中的案例加以介绍。数据库
主要容工具
SQL DELTA 简介测试
建立SQL DELTA项目对象
使用SQLDELTA 进行数据库结构同步ip
使用SQLDELTA进行数据库数据同步开发
生成数据报表同步
待续虚拟机
SQLDELTA简介产品
SQLDELTA是一款便捷实用的数据库管理工具。使用它能够找到如今数据库项目与过去数据库的异同点。并可使你的产品数据库与你的开发数据库同步,减小你由于同步数据库而进行复杂的工做。还有一个好处是你可使用它的对比和同步功能来为你目前的项目建立一个供测试使用的数据库。能够批量的转移你的数据。
你能够从www.sqldelta.com上下载SQLDELTA工具。目前最新版本是SQL DELTA Version5.0。本文将采用SQL DELTA4 来作演示。
建立SQL DELTA项目
打开”SQL DELTA 4”程序,在”Projects”选项卡中,选择”New”,”Add New Project”,新建一个项目,为“JJKQ”。
经过右键新建的项目“Edit Project”,或者经过点击右边的向下箭头,能够编辑项目。
在项目中,源数据库和目标数据库配置以下图所示:
图1 SQLDELTA新建项目
注意:在设置源数据库链接与目标数据库链接时,若是你是在一台机器上操做的话,务必确保两个数据库不一样名,或是在不一样的数据库实例下相同的数据库名,也可使用虚拟机。
接着,点击图1 右下角的“Project Options”,选择要对比的对象,如图2
图2选择对比的对象
点击“OK”
在图1所示的界面中,点击左上角或右下角的”Compare DataBase”,对比两个数据库中咱们选择要对比的对象。
图3 对比进度条
在对比过程当中SQLDETAL还将链接数据库,此时可能再次要求你输入链接数据库的密码,如图4
图4 输入数据库链接密码
使用SQLDELTA 进行数据库结构同步
选择选项卡“Structure”,将为咱们列出源数据库和目标数据库的异同点,如图5
图5 数据库对象对比结果
图5上半部分列出了数据库中的对象和对比的基本状况。下半部分则对每一个对象对比的结果进行了详细的描述,其中=表示相同,<>表示不相同,三角号表示对象移动的方向:向左表示源数据库更新目标数据库,向右表示目标数据库更新源数据库。下面列举两个示例。
例1:使用源数据库的表更新目标数据的表
选择图5种上半部分中type为数据表,statue为”<>”的行,对应的将在其下半部分显示出两个不一样源的数据表结构哪里不同,如图6所示”summary”选项卡中columns有1个”<>”。对应选择选项卡”Cols(1)”,如图7 所示,咱们将看到,原来列sortname中数据类型不同,源库中是varchar(50),目标库中是char(50)
图6
图7
如今要使得目标库的sortname类型也为varchar(50),经过钩选图7上半部分的列表中对应的”Update”列中的钩选框(默认状况下是钩选的)。
点击图5中左上角的”Sync”同步图标。将生成数据库同步语句,此时你下图中右下角的”Run”按钮便可完成同步操做。
图8 生成同步数据库的SQL语句
若是同步成功的话,会显示以下语句:
Updating dbo.attendanceinout Table
dbo.attendanceinout Table Updated Successfully
*** Script Completed For LHL-PC/SQLEXPRESS.lw_att2000 ***
说明更新目标表成功。
当咱们关闭对话框时,SQLDELTA将再次进行一次数据库结构的比较,此时你将发现刚才不同的表结构,已经同步,同样了。
例2:使用目标库中的存储过程更新源库中同构的存储过程。
查看两个存储过程的异同点方法,跟例1 类似,这再也不赘述。不一样地方如图9
图9 存储过程语句不同
如今若是咱们直接按”Sync”按钮,则会使用源库的存储过程更新目标库的。此时咱们能够经过使用
中的Direction按钮来改变要更新的库。
点Direction按钮,选择”Update on (local).lw_att2000”,其中(local).lw_att2000为源库。此时对象列表中的Action列对应的值,将由”Update on LHL-PC/SQLEXRESS.lw_att2000”变为” Update on (local).lw_att2000”。而后再使用”Sync”按钮同步。
注意:在同步SQL语句的时候,能够会同步错误。此时你只要稍微修改下生成的同步SQL语句,而后再要更新的库中运行便可。
使用SQLDELTA进行数据库数据同步
选择选项卡”Data”,点击”Wizard”按钮,选择须要对比的数据的表,注意选择的表必须要有主键,如图10,选择CHECKINOUT,主键为userid和checktime
图10 选择要对比数据的表
能够选择”Next”根据本身的配置,对比数据,也能够直接进行对比。结果如图11
图11 数据对比结果
上半部分列表中,列Identical表示相同的记录数,Different表示不一样的记录数,Missing表示源表中有但目标表没有的记录数,Additional表示源表中没有但目标表中有的记录数。
若是此时咱们要将目标表中的记录同步到源表中,只要按照结构对比示例2 中存储过程经过的过程同样。
生成数据报表
选择选项卡”Reports”
其中
Strucure是生成指定数据库的结构对象的报表
Comparison生成两个数据库结构对象对比结果的报表
Data生成两个数据库数据对比状况的报表
Combined是以上三者的组合选项。
待续
本文只是简单介绍了SQLDELTA的使用,一些高级的应用还有待咱们去发掘使用。