如何生成Alter,Update&在SSMS中创建脚本?

时间:2012-08-29 06:07:04

标签: sql-server-2008 sql-server-2008-r2 sql-server-2008r2-express

您好我使用的是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是新数据库。

3 个答案:

答案 0 :(得分:3)

在脚本表中将ALTER To选项禁用为菜单选项!所以如果你想生成一个脚本,你怎么去做呢?好吧,当你改变一张桌子时,你不能这样做。

要生成脚本,首先右键单击要更改的表,然后选择“设计”。

  

enter image description here

现在继续添加新列,更改字段类型等。完成更改后,您需要右键单击任何列或空白区域,您将看到“生成更改脚本”选项现在可用。

  

enter image description here

现在继续保存该文件,您将拥有ALTER TABLE脚本!

来源:How to Generate an Alter Table Script in SQL

答案 1 :(得分:1)

正如SSMS所说,您需要查看脚本,但您需要做的就是右键单击#2中的表,选择脚本表作为> DROP并创建To>文件...

然后在#1上运行脚本。

根据您在#2中拥有的数据量(以及您错过两个数据库之间的差异的可能性),可能更容易恢复#2的备份,然后运行截断所有表的脚本。 / p>

答案 2 :(得分:0)

您可以使用software for compare same DB schema。这个软件经过多DB之间的比较数据库模式,得到你统一数据库的脚本。

例如在redgate软件中:

enter image description here

  1. 请参阅比较所选对象的结果
  2. 选择要统一的对象
  3. 开始统一dbs