数据库架构同步
打开工作室后,转到“数据库同步”选项卡,然后单击“新建连接”按钮来创建新连接:

在打开的连接设置窗口中,必须输入必要的数据才能连接到MS SQL Server实例(源服务器)。 请注意,除了MS SQL Server,Windows,Active Directory身份验证之外,还通过MFA进行了身份验证。 填写所有必填字段后,单击“测试连接”按钮以测试连接:

建立连接后,将出现以下对话框:

接下来,单击对话框中的“确定”按钮,然后单击连接设置窗口中的相同按钮。
现在出现了一个新的连接:

同样,您需要连接MS SQL Server的所有必需实例(在此示例中,您需要为目标服务器创建连接)。
之后,单击“新架构比较”以配置比较源服务器上的数据库架构和目标服务器上的数据库的过程:

将会出现一个用于比较电路的设置窗口。
在“源”面板左侧的“源和目标”选项卡上,必须选择:
- 类型
- 连接
- 源数据库
在“目标”面板的右侧,您需要选择:
- 类型
- 连接
- 接收者数据库
请注意,在类型中,您不仅可以选择数据库,还可以选择脚本目录,快照,版本控制和备份。 在我们的例子中,我们选择“数据库”类型。
选择所有设置后,必须单击“下一步”按钮以继续设置数据库架构的同步。
如果比较了两个最初相同的数据库,则可以通过单击“比较”按钮立即开始比较架构。
如有必要,您可以通过单击左侧窗口中的相应项目转到任何设置选项卡。
在任何阶段,您都可以通过单击窗口左下方的“保存命令行”按钮将设置另存为bat文件。
在大多数情况下,在最初相同的数据库之间滚动更改时,只需单击“比较”按钮。 但是要研究该功能,必须单击“下一步”:

在“选项”选项卡中,您可以设置各种设置或将其保留为默认设置:

在“架构映射”选项卡中,可以按名称配置方案的映射:

在“表映射”选项卡中,您可以配置表和列的映射:

在“对象过滤器”选项卡中,可以指定要比较的对象。
之后,如有必要,您可以返回之前的步骤。
最后,您必须单击“比较”按钮以开始比较指定数据库的方案的过程:

数据库模式比较设置窗口将消失,并且将出现一个窗口,其中包含比较过程的指示符:

在过程结束时,请注意窗口。 您可以通过单击窗口左上角的“编辑比较”按钮来更改比较设置。 该按钮右侧是带有箭头的圆圈-这是更新按钮,它将再次开始比较方案的过程。 所有先前注册的服务器也位于下面:

通过“文件”中的主菜单,您可以将用于比较方案的设置保存为带有scomp扩展名的文件。
现在,让我们注意窗口的中央部分。 在这里,您需要选择必要的对象以与复选标记同步。 左侧是源对象,右侧是接收器。 下面以相同的方式定义对象的代码。 用于比较的对象分为4个部分,每个部分中都有这些对象的数量计数。
在此,选择一个表以查看定义代码,该表在源代码和接收器中都存在。 因此,此对象位于“不同”部分中:

选择此对象时,在为接收器同步数据库方案时,其左侧的定义代码将移至右侧。
在这里,要查看定义代码,选择仅在源中的视图。 因此,此对象位于“仅在源代码中”部分,并且右侧没有定义代码:

选择此类对象时,将为接收者生成其创建代码。
在此,为了查看定义代码,选择仅在接收器中的视图。 因此,此对象位于“仅目标中”部分,并且左侧没有定义代码:

选择此类对象时,将为接收者生成其删除代码。
接下来,要开始同步数据库模式的过程,请单击图片中以红色突出显示的按钮之一:

在“输出”选项卡中,您必须指定同步过程的发生方式。 通常,脚本生成是在工作室或文件中选择的。 在我们的情况下,我们将选择第一个选项。 建议您仔细遵循所有选项卡的顺序来设置同步过程:

在“选项”选项卡中,可以设置用于同步数据库架构的各种设置。
通常,将删除数据库备份组中的所有设置。
默认情况下,在“交易”设置组中,设置了“使用单个交易”和“将交易隔离级别设置为SERIALIZABLE”,这可以防止仅应用部分更改的情况-即 更改将全部应用或完全不应用:

摘要选项卡显示选择同步设置的结果。 如有必要,您可以返回前面的段落。
请注意,通过单击窗口左下角的“保存命令行”按钮,也可以将用于同步数据库模式的设置保存到bat文件中。
最后,您需要单击“同步”按钮以开始生成用于同步数据库模式的脚本的过程:

完成后,将在新窗口中生成脚本:


该脚本是用于将数据库架构更改从源转移到接收者的代码。 它可以在目标服务器上使用,也可以保存到文件中,以备以后在目标服务器上使用。 通常,无论如何都要保存此脚本,以便在所有检查之后将其应用于同一数据库的多台服务器上。 您可以通过将结果脚本立即发送到整个所需的服务器组来使用SSMS中已注册的服务器组来执行此操作:

同步后,先前选择的对象应从电路比较窗口中消失:

数据库数据同步
假定已经按照上面“数据库架构同步”中的描述创建了必要的连接。
之后,您需要单击“新数据比较”以配置比较源服务器上的数据库数据和目标服务器上的数据库的过程:

将会出现一个用于比较数据的设置窗口。
在“源”面板左侧的“源和目标”选项卡上,必须选择:
- 类型
- 连接
- 源数据库
在“目标”面板的右侧,您需要选择:
- 类型
- 连接
- 接收者数据库
请注意,在类型中,您不仅可以选择数据库,还可以选择脚本目录和备份。 在我们的例子中,我们选择“数据库”类型。
选择所有设置后,单击“下一步”继续设置数据库数据同步。
与电路比较不同,在比较数据时,建议您按顺序执行所有配置步骤。
如有必要,您可以通过单击左侧相应的窗口元素转到任何设置选项卡。
在任何阶段,您都可以通过单击窗口左下方的“保存命令行”按钮将设置另存为bat文件。
设置“源和目标”选项卡后,单击“下一步”:

在“选项”选项卡中,您可以设置各种设置或将其保留为默认设置:

“映射”选项卡提供了用于数据同步的表的列表。 感叹号指示没有主键的那些表。 对于此类表,必须手动进行匹配。 为此,选择所需的行(表),然后右键单击省略号:

出现匹配的窗口:

之后,如有必要,您可以返回之前的步骤。
最后,单击“比较”以开始比较指定数据库的数据的过程:

用于比较数据库数据的设置窗口将消失,并且将出现一个窗口,其中指示比较进度:

在过程结束时,请注意窗口。 您可以通过单击窗口左上角的“编辑比较”来更改比较设置。 该按钮右侧是带有箭头的圆圈-这是一个更新按钮,可再次启动数据比较过程。 所有先前注册的服务器也位于下面:

通过文件中的主菜单,您可以将用于比较电路的设置保存为带有dcomp扩展名的文件。
现在,让我们注意窗口的中央部分。 在这里,您需要选择必要的对象以与复选标记同步。 左边是源对象,右边是接收者:

下面显示以下信息:
- 对于插入的行-插入的行的数据:

- 对于可变字符串-字符串比较:

- 对于已删除的行-已删除的行的数据:

如有必要,您可以在左下方选择不是要更改的所有行,而是需要的行。 默认情况下,所有行均处于选中状态:

您还可以使用数据表本身上方的标签在添加,更改和删除的行之间切换:

要控制所需列(字段)的可见性,有必要的功能:

默认情况下,所有列均处于选中状态。
接下来,要启动数据库数据同步过程本身,请单击图片中以红色突出显示的按钮之一:

在“输出”选项卡中,您必须指定同步过程的发生方式。 通常,脚本生成是在工作室或文件中选择的。 在我们的情况下,我们将选择第一个选项。 建议您仔细遵循所有选项卡的顺序来设置同步过程:

在“选项”选项卡中,您可以设置各种同步设置。
通常,将删除数据库备份组中的所有设置。
默认情况下,在“交易”设置组中,设置了“使用单个交易”和“将交易隔离级别设置为SERIALIZABLE”,这可以防止仅应用部分更改的情况-即 更改将全部应用或完全不应用:

摘要选项卡显示选择同步设置的结果。 如有必要,您可以返回前面的段落。
请注意,通过单击窗口左下方的“保存命令行”,也可以将同步数据库模式的设置保存在bat文件中。
最后,您需要单击“同步”以开始生成同步脚本的过程:

完成后,将在新窗口中生成脚本:


该脚本是用于将数据更改从源传输到接收器的代码。 它可以应用于服务器接收器,也可以保存到文件中,以备以后在服务器接收器上使用。
同步后,先前选择的对象应从数据比较窗口中消失。
DbForge SQL Server比较捆绑包一览
除了用于SQL Server的dbForge Studio本身之外,您还可以使用Devart的dbForge Compare Bungle for SQL Server工具(该工具内置于SQL Server Management Studio(SSMS)中)来比较数据和数据库方案。 考虑在SSMS中使用此工具的示例:

在这里,您需要右键单击所需的数据库,然后选择所需的操作:数据比较或架构比较。 之后,将所选数据库安装为源或接收器。 同样,选择第二个数据库作为接收者或源。
设置源和接收器之后,要开始配置数据同步或数据库模式,请单击屏幕中间的绿色箭头:

之后,将显示熟悉的用于设置数据同步或数据库模式的窗口,具体取决于先前选择的内容。