SQL Diff工具显示2个不同数据库服务器上2个相同存储过程的差异的原因是什么

时间:2010-11-25 10:16:44

标签: mysql stored-procedures comparison schema

利用许多不同的SQL“差异/比较”工具,我得到的报告存储过程和表格的差异是相同的(除了某些关键字的情况之外的所有内容 - 请耐心等待(期望是这样的情况)相同))生活在2个不同数据库服务器上的数据库之间。

“客户端”数据库管理工具和我使用的比较工具,都已配置为尝试使用关键字大写,也不会大写关键字以提供一致性。

我还运行了相同的脚本来在两个数据库服务器上创建sprocs。托管比较所涉及的数据库的mySQL数据库服务器都是相同的版本;版本5.1

我需要关注哪些mySQL服务器配置设置,以便我可以进行比较,而不会看到标记为实际不存在的差异......

这里的目的是获得准确的差异报告,然后可以自信地生成数据库脚本,包括/排除促销期间的更改,使用SQL diff工具排序你期望的内容!!

谢谢,

2 个答案:

答案 0 :(得分:1)

根据我的经验,当两个模式被宣布不同时,虽然我预期它们是准确的,但是由于

  • MySQL版本略有不同,因此表定义(CREATE TABLE s)中的空格和大写不同
  • 不同服务器上的不同默认字符集(在服务器,数据库或表级别)
  • 表上索引的不同排序(由于我丢弃并在其中一台服务器上重新添加)

<强> ++

  • AUTO_INCREMENT
  • 中的CREATE TABLE

答案 1 :(得分:0)

如果您的两台服务器不是同一个操作系统,则换行符可能存在差异

http://en.wikipedia.org/wiki/Newline