开发的时候在测试服务器上和线网服务器上面都有我们的数据库,当我们在线网上面修改或者新增一些字段后,线网的数据库也需要更新,这个时候根据表的修改记录,然后在线网上面一个一个增加修改很浪费效率而且容易出错,那有没有更好的方法解决这个问题呢?有!那就是VS自带的架构比较功能。

个人觉得在初期一个开发除了掌握必要的开发知识外,对开发工具的使用和了解程度同样是至关重要的。就想对API了解程度一样,熟练的使用让你开发起来得心趁手。

 

二、关于

Visual Studio 2005版本开始,VS就开始支持“比较和同步数据库架构”,微软如此早就实现这个功能说明这是一个我们会经常用到一个功能。这个功能我们自己也可以实现(在SQL Server中实现视图、存储过程及表结构的比较),也可以将其打包成一个工具(自己开发MSSQL架构和数据对比小工具)。对于新手来说稍微麻烦一些,这里就不做多说,感兴趣的可以看看。

 

三、开始演练

本次演练使用VS2017自带的SQL Server工具比较两个数据库的架构并同步目标的架构和源的架构。

 

1.准备两个要比较的数据库

我这里有两个数据库,一个是本地的,一个是测试服务器的。本次演练我将连接这两个数据库。

 

2.连接源数据库和目标数据库

所谓的源数据库和目标数据库也就是字面的意思(源>目标)将源数据中新增修改的同步到目标数据库中。

首先我们打开VS>工具>SQL Server>新建架构比较。

Visual Studio 数据库架构比较

选择源

Visual Studio 数据库架构比较

我们选择数据库,点击选择连接

Visual Studio 数据库架构比较

连接源服务器并验证,别忘记了选择数据库

Visual Studio 数据库架构比较

选择目标 操作和选择源一样

Visual Studio 数据库架构比较

连接目标服务器并验证,别忘记了选择数据库

Visual Studio 数据库架构比较

 

3.比较源数据库和目标数据库

源数据库和目标数据库都选择完成后,点击左上角“比较”开始比较两个数据库

Visual Studio 数据库架构比较

下面就是源数据库和目标数据库的差异

Visual Studio 数据库架构比较

 

4.更新目标数据库

比较完成后选择左上角的更新,就会更新我们选择要更新的字段数据(图中红标圈住的字段)

Visual Studio 数据库架构比较

Visual Studio 数据库架构比较

数据的同步其实就是差异生成对应的脚本,然后在目标数据库执行。选择查看结果就可以看到部署脚本

Visual Studio 数据库架构比较

看到提示我们知道更新完毕了。然后我们再执行“比较”看一下差异。

Visual Studio 数据库架构比较

这个时候我们会发现刚才同步的已经同步完成了,如果想全部同步,全部勾选就是啦,架构比较就是这么简单,本次演练就到这里。

相关文章: