当前位置: 代码迷 >> Sql Server >> 经常修改数据库,导致和客户那边的数据库不一样了,该如何解决
  详细解决方案

经常修改数据库,导致和客户那边的数据库不一样了,该如何解决

热度:35   发布时间:2016-04-27 13:04:55.0
经常修改数据库,导致和客户那边的数据库不一样了
做了一个系统,刚开始的时候,我如果更改了代码或改了数据库,直接把我这边的mdf文件发过去,替换他那边的,就可以了。后来他那边录了很多东西,就不能这样替换了,每次更改数据库,我都写一个文档,让他那边也这样修改。
时间长了,出问题了,不知道哪一步没做对,我们两边的数据库不一样。

我想写一段代码,来判断一下我们两边到底哪些字段不一样,大侠提示一下吧。

他那边的服务器是不允许联网的。

------解决方案--------------------

你首先需要把你的库换另外一个名字附加到客户,在客户那边执行,或者把客户的库拿到你本地执行。
大概就是下面的思路,至于触发器,存储过程..你需要对比什么写什么~

SQL code
--表名不一样SELECT TABLE_NAMEFROM TEMP1.INFORMATION_SCHEMA.TABLESWHERE TABLE_TYPE = 'BASE TABLE'   AND TABLE_NAME NOT IN (SELECT TABLE_NAME                         FROM TEMP2.INFORMATION_SCHEMA.TABLES                         WHERE TABLE_TYPE = 'BASE TABLE')--表结构不一样SELECT TEMP1.DBO.SYSOBJECTS.NAME AS TABLE_NAME,       TEMP1.DBO.SYSCOLUMNS.NAME AS COLUMN_NAMEFROM TEMP1.DBO.SYSCOLUMNSINNER JOIN TEMP1.DBO.SYSOBJECTSON TEMP1.DBO.SYSCOLUMNS.ID = TEMP1.DBO.SYSOBJECTS.IDWHERE (TEMP1.DBO.SYSOBJECTS.XTYPE = 'u')AND (NOT (TEMP1.DBO.SYSOBJECTS.NAME LIKE 'dtproperties'))
------解决方案--------------------
右键数据库--任务--生成脚本
  相关解决方案