1

您好我正在使用 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 中没有,我想知道如何生成更改脚本以更改 #1 中的表?以及如何生成 #1 中缺少的 Alter、Update 和 Create 脚本?第一个是旧数据库,第二个是新数据库。

4

3 回答 3

3

ALTER To选项在脚本表中被禁用为菜单选项!所以如果你想生成一个脚本,你会怎么做呢?好吧,当您更改表格时,您不能这样做。

为了生成脚本,首先右键单击要更改的表并选择设计。

在此处输入图像描述

现在继续添加新列,更改字段类型等。更改完成后,您想右键单击任何列或空白区域,您将看到选项 Generate Change Script 现在可用。

在此处输入图像描述

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

资料来源:如何在 SQL 中生成 Alter Table 脚本

于 2012-08-29T06:40:58.503 回答
1

正如 SSMS 所说,您将要查看脚本,但您需要做的就是右键单击 #2 中的表,选择 Script Table as > DROP And Create To > File...

然后在#1 上运行脚本。

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

于 2012-08-29T06:37:44.780 回答
0

您可以使用软件来比较相同的数据库模式。该软件在比较多 DB 之间的数据库模式后,为您提供统一 DB 的脚本。

例如在 redgate 软件中:

在此处输入图像描述

  1. 请参阅比较选定对象的结果
  2. 选择要统一的对象
  3. 开始统一 dbs
于 2012-08-29T08:01:41.277 回答