您好我使用的是SQL SERVER 2008 R2,我有2个数据库
1] ABC (with only structure like schemas, tables but no data in the table)
2] ABC1 (with schemas, tables and data in the tables)
我在Schema和Tables级别进行了比较,我发现在#2中更改了一个表但在#1中没有,我想知道如何生成alter脚本以改变#1中的表?我怎样才能生成Alter,Update&创建#1中缺少的脚本? 第一个是旧数据库,#2是新数据库。
答案 0 :(得分:3)
在脚本表中将ALTER To
选项禁用为菜单选项!所以如果你想生成一个脚本,你怎么去做呢?好吧,当你改变一张桌子时,你不能这样做。
要生成脚本,首先右键单击要更改的表,然后选择“设计”。
现在继续添加新列,更改字段类型等。完成更改后,您需要右键单击任何列或空白区域,您将看到“生成更改脚本”选项现在可用。
现在继续保存该文件,您将拥有ALTER TABLE脚本!
答案 1 :(得分:1)
正如SSMS所说,您需要查看脚本,但您需要做的就是右键单击#2中的表,选择脚本表作为> DROP并创建To>文件...
然后在#1上运行脚本。
根据您在#2中拥有的数据量(以及您错过两个数据库之间的差异的可能性),可能更容易恢复#2的备份,然后运行截断所有表的脚本。 / p>
答案 2 :(得分:0)
您可以使用software for compare same DB schema。这个软件经过多DB之间的比较数据库模式,得到你统一数据库的脚本。
例如在redgate软件中: