如何创建脚本来比较,更新和匹配两个数据库的结构

时间:2015-11-04 14:12:33

标签: database-design sql-server-2012 sqlcompare opendiff

我使用open diff比较两个数据库,这与SQL Compare类似。

我有两个数据库应该在结构上匹配,以便我比较我想构建一个脚本,如果一个数据库有一个特定的表,而另一个数据库没有它创建该表,以便结构和两个数据库中的排序规则匹配。

我正在使用SQL Server 2012。

1 个答案:

答案 0 :(得分:1)

有很多方法可以完成这项工作。一种方法是构建我称之为"元数据库"。元数据库只是一个数据库,其用户表包含来自一个或多个其他数据库的结构元数据。我对SQL Server不是很熟悉,但是我用Oracle做过几次同样的事情。

也许最简单的方法是从系统表中卸载选择,并将它们作为用户表加载到MS Access DB中。从那里,比较两个数据库只是普通的DML,如果你是DBA,你应该知道如何做。示例:对于两个数据库中所有表中的所有列,按表名和列名分组,并选择具有多个数据类型或多个精度的组。或者选择仅存在于一个数据库中的组。

如果您愿意,可以使用第三个SQL Server数据库作为元数据库容器。我只是喜欢MS Access,因为它非常简单。

更详细的解释需要更多有关您要完成的内容的详细信息。