首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-05-03 
经常修改数据库,导致和客户那边的数据库不一样了做了一个系统,刚开始的时候,我如果更改了代码或改了数据库

经常修改数据库,导致和客户那边的数据库不一样了
做了一个系统,刚开始的时候,我如果更改了代码或改了数据库,直接把我这边的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'))
[解决办法]
右键数据库--任务--生成脚本

热点排行