如何:同步数据库架构

更新:2007 年 11 月

将源与目标的架构进行比较之后,可以同步整个架构,或者只同步在该架构中指定的数据库对象。有关更多信息,请参见比较数据库架构概述

说明:

比较的数据库分别称为“源”和“目标”。同步数据库架构时,将更新目标,而源保持不变。

更新目标架构

  1. 比较两个架构。有关更多信息,请参见如何:比较两个数据库的架构

    比较完成后,“架构比较”窗口中的表将列出已比较的数据库对象。每一行代表一个数据库对象。有关更多信息,请参见比较数据库架构概述

  2. (可选)在“更新操作”列中,保持或更改针对结果表中的每个对象显示的同步操作。

    单个同步操作不会立即执行,而是存储起来,在后面的步骤中成批执行。

    说明:

    若要针对特定类型的所有对象重置“更新操作”列,请右击该类型的节点(例如,“表”节点),再单击“还原默认值”。

  3. 若要同步不同的、缺少的或新的数据库对象,请执行下列操作之一:

    • 若要立即更新目标,请单击“写入更新”。

      除了标记为“跳过”的对象外,此选项将源中的所选数据库对象的架构应用于目标中的相应对象。此同步操作意味着更新、创建或删除目标对象。

      重要说明:

      更新架构时,可以通过单击“停止写入目标”来取消更新操作。如果停止更新,将不会传播大多数对象类型的更改。但是,由于“用户”和“角色”对象无法包装在事务中,对这些对象所做的部分更改可能无法回滚。

    • 若要在更新目标之前查看更改,请使用“架构更新脚本”窗口,或单击“导出到编辑器”。

      此选项将生成 Transact-SQL (T-SQL) 脚本并将其另存为文件,您可以在对目标运行该脚本之前查看此文件。此选项还会打开一个显示所生成脚本的 T-SQL 编辑器窗口。生成的 T-SQL 脚本与您在单击“写入更新”的情况下要运行的脚本相匹配。如果另一个用户将更新目标,并且您要给该用户提供脚本,则也可以采用此方法。

      说明:

      Visual Studio Team System Database Edition 不会自动刷新在“写入更新”操作完成后显示在“架构比较”窗口中的结果。而是通过更新状态栏来建议您单击“刷新”。此行为为您提供了重新比较架构的选择,如果架构较大,该重新比较操作可能花费较长时间。

请参见

任务

如何:比较两个数据库的架构

演练:比较两个数据库的架构