SQL DXP Premium 能对数据库的结构和数据做跨平台比对,面对 SQL Server、Oracle、MySQL 这些不同的数据库系统,它可以把对象和数据放在一起对照检查。它的比对思路和 SQL Delta 相近:先把源数据库里的对象定义转成目标数据库能识别的语法,再拿来做比较;不过各类数据库自有其特性,转换过程做不到每一个对象和属性都严丝合缝。整个操作都走图形界面,不必自己动手写复杂脚本,就能在异构数据库之间同步模式、迁移数据,适合 DBA 和开发人员在多数据库环境下核对版本、检查数据是否一致。

1、什么是命令行功能
在Windows系统下打开命令提示符(CMD),切换到SQL Delta所在的路径,把项目名称作为参数一并写入命令,例如输入sqldelta.exe“ myproject”,即可让myproject项目自动运行起来。
另一种做法是:先建立一个快捷方式,再把项目名称补进它的目标路径里。
2、细节
SQL Delta 会在项目管理器列表中定位目标项目,通过名称或文件名进行匹配,随后依据所获取的详细信息执行该项目;也可以将项目文件名与已有文件名进行比对,此时路径部分不参与匹配。
这次调整的逻辑是:当某个项目文件的名称在项目管理器的列表里找不到对应项时,它就会被当作模板项目处理。这类模板项目不具备编辑和保存的能力,实际上在项目管理器中也不会显示出来。
模板项目支持通过命令行开关动态调整连接参数,这一特性让批处理流程变得灵活:只需修改命令行开关,便能借助模板项目对多个数据库进行比对。不过,模板也存在限制——项目级别的持久化过滤器对模板而言是无法访问的。
模板项目同样能够配置“完成时”事件,负载过滤器和映射也包含在内。若用于数据比较场景,建议启用自动模式,这样SQL Delta在每次执行项目时会自行加载并映射源表与目标表;连接信息即便发生动态调整,也不会对数据比较形成限制。
3、重要提示
若要在 SQL Delta 中新建模板项目,项目管理器内需确保没有同名的项目文件存在;一旦列表中已出现该文件名,命令行中的所有连接数据开关都将不再生效。
4、命令行参数:(所有参数均区分大小写)
“项目名称”,也可以写成“ path projectfilename.xdp”这种形式。
/ 在项目管理器内对所有已勾选的检查项执行操作
/ L 日志文件的生成不受项目设置影响,始终进行。若已配置日志文件,则该配置优先于此开关。
/ M:x 用于把显示画面强制切换到指定编号的监视器。SQL Delta 启动时会默认出现在上一次用过的显示器上;少数情形下,那台显示器已经不可用,程序就可能跑到屏幕可见范围之外。借助这个设置,可以让 SQL Delta 固定从某一台监视器上启动。
/ Q 默认在隐藏图形界面的状态下以静默方式运行。项目启动并完成全部收尾事件后,SQL Delta 会自行退出。
比较结束后,系统会自行创建一个同步脚本并完成部署。若与/L参数搭配使用,系统将生成差异日志,内容涵盖脚本错误及脚本差异信息。任务完成阶段,事件本身带有优先级,该开关设置将不再生效。
连接数据开关——将模板中的项目内容替换为以下内容:
/ SS =“服务器名称”,即源服务器的名字,比如“我的服务器”
/ SU =“用户名”源用户名
源密码采用“!4GFDDGF”格式,一般出现在含感叹号的SQL Delta加密密码中,初始状态为纯文本。
/ SD =“数据库名称”指定源数据库,比如“我的数据库”
/ TS =“服务器名称”用于指定目标服务器的名称,比如可以填写“我的服务器”
/TU =“用户名”用于指定目标用户名。
/ TP =“ ClearPass”目标密码。一般会采用带有!符号的SQL Delta加密密码形式,初始状态下则为纯文本
/ TD =“数据库名称”用于指定目标数据库,比如填写“我的数据库”即可。
当存在多个模板文件名时,任一替代数据都会覆盖各个项目的详细信息。若“完成时”事件启动了另一个项目,则该项目原有的详细信息不会被备用数据改动。
5、档名
运行命令行项目时,默认的文件夹位置一般会被直接采用。举例来说,报告文件会存入“系统设置”所显示的报告文件夹里。
不过,若从其他目录启动CLI项目,则CLI项目所在文件夹的优先级会高于默认文件夹。
项目目录中若已存在报告、脚本或临时文件夹,输出内容便会存入这些位置;若这些文件夹尚未建立,所有输出则统一保存在项目文件夹内。
部分“完成时”事件要求提供文件名;若文件名中含有反斜杠(),该路径会取代系统原有的默认设置。具体规则如下:
文件名若以[盘符]:开头,或直接以该盘符起始,系统便会把这一路径当作*路径使用。
压缩包内的文件名若带有路径信息,解压时会依据该路径将其释放到当前项目文件夹下的对应位置。
若情况并非如此,文件就会被存放到默认路径下,比如脚本或报告所在的位置。
当目标文件夹不存在时,程序会回退到当前项目文件所在的目录。
1、交叉平台比较
sqlDxp 支持在同类数据库之间做结构比对,SQL Server 与 SQL Server 之间便是按同一套方式进行对照。面对不同类别的数据库服务器,它同样能完成比较,并可在 SQL Server、Oracle 或 MySQL 等平台之间迁移表结构与数据。
2、方案比较
sqlDxp 能把源数据库中的各类对象转成目标数据库可识别的兼容形式。以 MySQL 迁移到 SQL Server 为例,工具会将 MySQL 数据库整理成 SQL Server 对应的结构,这样一来,两边的比对就建立在相近的基础上了。
需要留意的是,并非所有对象与属性都能完成转换。MySQL 并不具备 SQL Server 的那套特性,不过相关对象仍会被保留下来,从而完整呈现源数据库的整体架构。
3、数据比较
在常见数据类型场景中,跨平台数据比对能够实现更精细的协调。借助数据比对功能,用户可以便捷地在两个不同平台之间传递数据;其中一种颇为常见的用法,是将基于Web的MySQL数据回传至后端SQL服务器数据库。
1、跨平台比较
SQL DXP 支持跨数据库平台的比对操作:当比较 SQL Server 与 SQL Server 时,其机制与 SQL Delta 一致;同时它也能面向不同数据库服务器开展比较,并在 SQL Server、Oracle 或 MySQL 之间迁移模式或数据。
2、模式比较
SQL DXP 能把源库里的各类对象转成目标库所兼容的形式。以 MySQL 迁移到 SQL Server 为例,该工具会将 MySQL 数据库整体转换为 SQL Server 的对应结构,从而支持后续的比对工作。
需要留意的是,对象与属性并非全部都能完成转换。MySQL 并不具备 SQL Server 那套功能特性,不过源数据库中的对象仍会被保留下来,以便完整呈现原有架构。
3、数据比较
针对常见数据类型,跨平台数据比对能够实现更紧密的对齐效果。借助数据比较功能,可以便捷地在两个不同平台之间传输数据,其中一种典型用法是将基于Web的MySQL数据传回后端SQL Server数据库。
(您的评论需要经过审核才能显示)
0条评论