分享

SQL Compare教程:工作示例——比较和部署两个数据库

 张小龙net馆藏 2020-07-15


翻译|使用教程|编辑:莫成敏|2019-07-18 16:51:08.207|阅读 171 次

概述:SQL Compar是一款比较和同步SQL Server数据库结构的工具。这篇文章主要介绍,演示两个SQL Server数据库的基本比较和部署的工作示例。

SQL Compare是一款比较和同步SQL Server数据库结构的工具。现有超过150,000的数据库管理员、开发人员和测试人员在使用它。当测试本地数据库,暂存或激活远程服务器的数据库时,SQL Compare将分配数据库的过程自动化。

点击下载SQL Compare最新使用版

这篇文章主要介绍,演示两个SQL Server数据库的基本比较和部署的工作示例。

在这个示例中,Magic Widget Company具有在实时Web服务器上运行的SQL Server数据库。此数据库包含许多表,视图,存储过程和其他数据库对象。Magic Widget Company的开发团队一直在努力升级到他们的网站。作为这次升级的一部分,他们对数据库的结构做了一些更改。他们已将更改从开发服务器部署到登台服务器。他们现在需要将更改部署到生产服务器。

这个例子有四个步骤:

1、建立数据库

在SQL Server上创建示例数据库。

2、建立比较

指定要比较的数据源。

3、选择要部署的对象

查看结果并选择要部署的对象。

4、部署数据库

创建并运行部署脚本。

一、建立数据库

工作示例使用以下数据库:

  • WidgetStaging是登台数据库

  • WidgetProduction是生产数据库

要在SQL Server上创建这两个数据库:

1、如果它们已经存在,请删除数据库 WidgetStaging 和 WidgetProduction。

2、单击此处下载数据库的SQL创建脚本。

3、复制脚本,将其粘贴到SQL编辑器应用程序中,然后运行它。创建数据库及其架构。

二、建立比较

1、如果尚未运行,请启动SQL Compare。将显示“项目配置”对话框:

image2018-9-6_10-48-44.png

您可以编辑当前项目,也可以创建新项目。

如果要创建新项目,请单击“取消” 关闭对话框,然后单击工具栏上的“image2016-8-31+13_17_39.png新建项目”(New Project)

2、在对话框的两侧,选择“ 数据库”。

在这个例子中,我们将比较数据库。您还可以比较备份,SQL比较快照和脚本文件夹。

3、对于每个数据源,在“服务器”中,键入或选择设置数据库的服务器的名称。

4、对于源文件,在Database中,键入或选择WidgetStaging。为目标键入或选择WidgetProduction。如果数据库未显示在“数据库” 列表中,请单击“刷新”。

image2016-8-31+13_20_24.png

5、单击“立即比较”。

SQL Compare显示一个消息对话框,显示比较的进度。

比较完成后,单击“确定"关闭消息框。

三、选择要部署的对象

比较结果显示在结果窗格中:

image2016-8-31+13_35_37.png

结果按以下方式分组:

image2016-8-31+13_26_9.png两个数据库中存在但是是不同的对象
image2016-8-31+13_26_30.png在WidgetStaging中存在但在WidgetProduction中不存在的对象
image2016-8-31+13_26_37.png两个数据库中存在且完全相同的对象

要查看组中的对象,请单击image2016-8-31+13_26_51.png

image2016-8-31+13_42_5.png

单击某个对象时,下面的(SQL差异)窗格会并排显示对象创建脚本中不同之处的彩色编码列表。

这个示例显示了WidgetPrices表:

image2016-8-31+13_36_21.png

有关更多信息,请参阅:

使用上面(“结果”)窗格中间的复选框选择要部署的对象。

在此示例中,我们将部署所有不同的对象:

1、在“筛选器”窗格上,确保选中默认筛选器中的“所有对象类型”。当前过滤器定义显示哪些对象。使用筛选器排除对象时,它将从“结果”窗格中删除该对象,无法选择对象进行部署。

2、在“结果”窗格的中间列中,选中顶级复选框以包含部署中的所有对象:

image2016-8-31+13_59_8.png

3、选择所有对象。

4、单击“部署”按钮打开部署对话框。

image2016-8-31+13_38_44.png

四、部署数据库

在部署向导的第一页上,您可以选择创建和保存部署脚本,或使用SQL Compare执行部署。

选择部署方法

在这个示例中,我们将使用SQL Compare进行部署。

image2016-8-31+13_48_17.png

1、确保选中“使用SQL Compare部署”。

2、如果已选中,则清除“部署前备份目标” 复选框。

在此示例中,我们不会在部署之前进行备份。

3、确保选中“部署后重新比较”复选框,并选中“保存部署脚本的副本”复选框。

在此示例中,我们将从SQL Compare运行脚本,然后比较数据库以检查结果。我们还将保存部署脚本的副本。

4、单击“下一步”。

审核脚本

向导的最后一页显示有关部署的信息:

image2016-8-31+13_46_52.png

审阅” 页面上有三个选项卡 :

  • 部署脚本 显示用于部署数据源的脚本。

您可以搜索脚本,保存脚本或将其复制到剪贴板。

  • 摘要 显示了部署脚本中的操作概要。

您可以按受影响的对象,修改类型或脚本修改目标的顺序查看分组的摘要。

  • 警告 显示有关部署数据库时可能发生的意外行为的任何警告的列表。

在此示例中,SQL Compare显示警告,通知您它无法使用ALTER TABLE命令更改IDENTITY列,因此部署脚本将重建 WidgetReferences 表。

每当需要重建表时都会显示警告,因为这些操作可能比较慢。重建表时,将保留表中的数据。

执行部署

查看完脚本后,部署数据库:

  • 单击“立即部署”以执行部署。

  • 将显示一个确认对话框。单击“立即部署”继续。

  • SQL Compare显示一个消息对话框,显示部署的进度。部署完成后,单击“确定”关闭消息框。

SQL Compare然后重新比较数据库。结果显示在主窗口中。在此示例中,所有对象都显示为相同,确认了部署是成功的:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多