Visual Studio 2008中如何比较二个数据库的架构【Schema】和数据【Data】并同步

      使用场景:
在团队开发中,每一个人都有可能随时更新数据库,这时候数据库中数据和架构等信息都会发生变化。如果更新不及时,就会发生数据错误或数据丢失的风险,影响团队的开发效率和 项目进度,这时候我们该怎么办呢?VS2008 Team System 版本中就提供了解决这个问题的工具。使用这个工具,我们可以比较数据库更改前后的架构和数据的具体改变信息,并且可以生成数据和架构更新脚本,在原来的老数据库中执行脚本,就可以将数据库更新到最新,而且数据库中没有变更的数据和架构不会受到影响。  
比较之前,首先一定要备份目标数据库【Target Database ,以防万一数据更新失败。将目标数据库【Target Database 】和源数据库【Source Database 】一起附加到SQL Server 2005 中,然后在VS2008 中分别添加二个连接字符串,连接这二个数据库。  
建议:将从服务器【SVN】上Down 下来的数据库作为Target Database ,将我们本机上更新过的数据库作为Source Database ,进行架构和数据比较并更新,确认更新成功后,提交Target Database 至服务器。  
在本实例中ISACADB 为待更新的目标数据库,ISACADB-S 为待比较的源数据库,比较更新后的结果是ISACADB 被更新到与ISACADB-S 一致。
 
VS2008中比较二个数据库的架构【Schema】并更新的步骤:
 
一、打开VS2008 ,点击菜单上的Data==>Schema Compare==>New Schema Comparison…  
 
二、在弹出窗体中,按下图分别在Source Schema 下和Target Schema 下选择相应的Database ,其中Source Schema 下选择的数据库【ISACADB-S 】是待比较的数据源,是Target Schema 下选择的数据库【ISACADB 】被更新的依据。  
 
三、选择好数据库后,点击OK 按钮,开始执行架构比较,完成后,显示如下界面。
选择图中上面的数据库表或存储过程,下面的窗口二侧会分别以不同颜色高亮显示Source Target Database 中不相同部分的内容。  
 
四、点击VS2008 中如下图的工具栏中的紫色方框内的按钮【Show Schema Update Script 】,会在vs2008 的下方显示整个数据库的全部更新脚本;点击其右侧的刷新【Refresh 】按钮,则会重新进行比较;点击Write Updates 按钮,会直接执行更新,使Target Database 的架构与Source Database 一致,点击Write Updates 左侧的按钮,可以重新设置Compare 的二个Database ;最左侧的按钮可以设置显示那些比较的结果。  
 
 
五、导出脚本,可以直接复制上衣步骤中的脚本,也可以点击VS2008 中如下图的工具栏的二个按钮,Export To Editor 是将脚本导出到VS2008 中的编辑器中,Export To File则是将脚本导出到文件中。  
 
六、执行上一步导出的脚本,将Target Database 的架构更新到与Source Database 的架构一致。
 
七、Target Database执行更新脚本成功后,检查Target Database的架构更新是否正确。方法是:将更新后的Target DatabaseSource Database进行架构比较,看比较结果是否完全一致,如果不一致,则检查错误原因;或者恢复原来的Target Database【已备份】,重新进行更新,直到更新正确。
 
VS2008中比较二个数据库的数据并更新的步骤:
 
一、打开VS2008 ,点击菜单上的Data==> Data Compare==>New Data Comparison…  
 
二、在弹出窗体中,按下图分别在Source Database 下和Target Database 下选择相应的Database ,其中Source Database 下选择的数据库【ISACADB-S 】是待比较的数据源,是Target Database 下选择的数据库【ISACADB 】被更新的依据。并在下面设置比较条件,点击Next 按钮则可以进一步设置要比较的Tables StoredProcedures Views 等,点击Finish 则直接按默认【只比较Tables 】进行数据比较。  
 
三、点击Finish 按钮后,开始执行数据比较,完成后,显示如下界面。  
 
四、下面的所有步骤和上面的架构比较时基本一样,此处省略。
补充:
Visual Studio 2005 Team System版本中默认是没有上面的功能的,需要安装下面的插件才能使用以上功能。
Visual Studio 2005 Team Edition for Database Professionals Add-on for Visual Studio 2005 Team Suite Edition下载地址:
http://www.microsoft.com/downloads/details.aspx?familyid=7de00386-893d-4142-a778-992b69d482ad&displaylang=en

你可能感兴趣的:(职场,sqlserver,休闲,Visual,Studio,晒文章)