问题:实际运行的项目有时会出现与预期结果不一样的情况,但研发同事反馈是:代码没有变过,或已经检查过代码没有问题,这时有可能是运行环境中的数据库结构包括存储过程触发器,会与研发环境的数据库不一致,导致线上产品与测试环境中的产品运行结果不一样,此时需要对比线上和研发环境的数据库是否一致。
方法
实例环境:
VS 需要旗舰版,高级专业版支持架构比较
软件载体:Visual Studio 2010 旗舰版
数据库:SQL SERVER 2008 R2
两个数据库 A,B
1.打开 Visual Studio 2010 –数据–架构比较–新建架构比较(如图一)
2.点击新建架构(如图二)
选中【服务器名】【数据库】确定
4.右边目标架构–【新建连接】(如图四)
5.架构比较设置–【选项】(如图五)
6.【常规】- 勾选–忽略文件…….
【对象类型】- 勾选– SQL 文件
说明:其他对象根据具体情况勾选
【确定】如图六
【确定】–开始架构比较(如图七)
数据库架构比较完毕。
数据–架构比较–导出到–编辑器(如图八)
点击- 编辑器(如图九 )
说明:
生成脚本的 SchemaUpdate…处于【未连接】状态,可在此窗口编辑脚本。
建议拷贝到别的地方编辑并执行,以免误操作影响到生产环境的数据库。