立即分享:

1. 介绍 SQL Server 复制

1.1什么是 SQL Server 复制?

SQL Server 复制是一系列技术,用于将数据和数据库对象从一个数据库复制并分发到另一个数据库,然后在数据库之间进行同步以保持一致性。此功能使您能够在不同的服务器和位置创建和维护数据的多个副本,从而确保数据的可用性和可靠性。

1.2 复制的目的和益处

SQL Server 复制功能满足多项关键业务需求,并为数据库管理和数据分发提供了显著优势:

  • 数据在不同地点的分布情况: 复制功能使您能够在区域办事处或全球各地共享数据,通过确保本地访问所需数据来提高运营效率。这可以降低网络延迟,并为地理位置分散的用户提供更好的性能。
  • 高可用性 以及灾难恢复: 通过在多台服务器上维护关键数据的副本,复制功能提供了冗余,从而抵御硬件故障和灾难。如果主服务器发生故障,复制的副本可以作为备用数据源,最大限度地减少停机时间和数据丢失。
  • 负载均衡和可扩展性: 复制将读取操作分布到多个服务器上,防止单个服务器成为性能瓶颈。这种方法可以提升系统性能,并允许您的基础架构随着数据和用户需求的增长而横向扩展。
  • 实时报告和分析: 将报表和分析查询卸载到复制服务器可以减轻生产数据库的负载。用户可以针对近乎实时的数据运行复杂的分析查询,而不会影响运营系统,从而确保性能和数据的新鲜度。
  • 数据集成与整合: 复制功能有助于将来自不同来源的数据合并成一个统一的视图。这对于拥有多个分支机构、需要在总部汇总数据的组织,或者需要从分布式运营系统中创建集中式数据仓库的组织来说,尤其重要。

2. SQL Server 复制架构和组件

SQL Server 复制架构由多个相互关联的组件构成,这些组件协同工作,以在数据库基础架构中分发和同步数据。本节将探讨核心组件,包括发布者、分发者、订阅者、出版物、文章、订阅以及协调它们之间数据流的代理:

  • 出版商: 出版商是 SQL Server 实例 host一个或多个包含待复制数据的数据库。它在复制拓扑中充当权威源。
  • 经销商: 分销商是 SQL Server 管理发布者和订阅者之间数据流的实例。分发者实例 host分发数据库,​​用于存储复制元数据和事务。
  • 订户: 订阅者是 SQL Server 接收并存储来自发布者的复制数据的实例。单个订阅者实例可以包含ost 多个订阅者数据库,每个数据库接收来自不同出版物的数据。
  • 发布: 发布文档定义了哪些数据将被复制以及如何将其分发给订阅者。它将相关文章分组,并建立适用于所有包含对象的复制方法。
  • 文章: 文章是复制的基本构建块,代表将分发给订阅者的单个数据库对象。
  • 订阅: 订阅建立了出版物与订阅者之间的关系,定义了数据如何以及何时传递到目标数据库。
  • 代理商: 代理是专门负责在复制组件之间移动和同步数据的实际进程。

SQL Server 复制架构和组件

3. 类型 SQL Server 复制

SQL Server 它提供多种复制类型,每种类型都针对特定的数据分发场景和业务需求而设计。了解每种类型的特性、优势和局限性对于为您的环境选择合适的方案至关重要。

3.1 快照复制

快照复制会在特定时间点对要发布的数据进行快照,然后将完整的数据副本分发给订阅者。在生成下一个快照之前,它不会监控后续的更改。快照复制是最简单的复制方式,因此适用于数据更改频率较低或允许数据略微过时的场景。

常见用例包括分发定期更新的参考数据(例如价格表或汇率)、为数据仓库提供初始数据集,以及在某些情况下,完全刷新数据比跟踪单个更改更为可取。例如,一家公司可以使用快照复制每天向分支机构分发一次更新后的产品目录。

快照复制的主要优点是简单易用、维护成本低,并且无需主键即可复制数据。然而,它也存在一些显著的缺点,例如由于表锁导致快照生成时影响较大、更新延迟较高,以及对于大型数据集或频繁变化的数据效率低下。订阅者上的任何修改都会影响到快照复制。ost 当应用下一个快照时。

3.2 事务复制

事务复制通过在事务发生时进行复制,将发布者的更改近乎实时地传递给订阅者。它首先创建一个初始快照以建立基线,然后持续监控事务日志,查找已发布文章的更改,并将这些更改增量式地传递给订阅者。

事务复制非常适合需要高吞吐量和低延迟的服务器间场景。常见的应用场景包括:通过将读取操作卸载到订阅服务器来提高可扩展性和可用性;支持近实时数据的数据仓库和报表;将来自多个站点的数据集成到中心位置;以及将批处理任务卸载到专用服务器。例如,电子商务平台可以使用事务复制来维护跨区域数据库的同步库存数据。

事务复制的优势包括低延迟数据传输、大事务量下的高吞吐量,以及允许在订阅节点进行非复制修改。缺点包括与快照复制相比更复杂、复制表需要主键,以及如果发生冲突(例如订阅节点上的主键冲突),复制可能会中断。

3.3 合并复制

合并复制专为订阅者需要在离线或间歇性网络连接环境下工作,并在网络连接恢复后同步更改而设计。这种复制类型允许发布者和订阅者独立地更改数据,使用触发器和元数据表跟踪更改,并在同步期间自动合并修改。

合并复制专为移动应用和分布式服务器环境而设计,适用于数据自主变更的情况。其应用场景包括:移动用户离线工作并在稍后同步的销售自动化系统;独立运行并定期整合数据的销售点系统;以及多个站点需要更新共享数据的分布式应用。例如,零售连锁店可以使用合并复制,使每个门店都能管理本地库存,同时与中央仓库系统同步。

合并复制的优势包括支持可自主修改的订阅者、对间歇性网络连接的容忍度以及灵活的冲突解决机制。缺点包括设置和维护更加复杂、跟踪元数据和触发器带来的性能开销、向表中添加唯一标识符列,以及可能出现的需要管理和解决的冲突。

3.4 点对点复制

对等复制基于事务复制,允许多个服务器实例(三个或更多节点)作为平等的对等节点,每个节点同时充当发布者和订阅者。在这种拓扑结构中,所有节点都维护着完全相同的数据副本,并且可以处理读取和写入操作,从而提供真正的分布式多主环境。

点对点复制适用于需要横向扩展读取操作和高可用性的应用。其应用场景包括:在保持数据一致性的同时,将目录查询分布到多个节点的 Web 应用;需要通过逐个节点离线进行维护或升级而无需停机的场景;以及数据中心位于不同区域的全球应用。例如,一家全球软件支持机构可以在不同时区的办公室之间使用点对点复制,以便每个地点都能本地访问最新数据。

对等复制的优势包括:通过横向扩展提升读取性能、利用多个活动节点实现更高的可用性以及近乎实时的数据一致性。缺点包括:需要企业版、多节点拓扑管理复杂、所有节点必须使用相同的模式和数据,以及写入操作未正确分区时可能出现的冲突。

3.5 双向复制

双向复制是一种专门为双服务器环境设计的事务复制拓扑,适用于两台服务器需要相互交换变更的情况。每台服务器发布数据并订阅来自另一台服务器的相同数据,从而创建一个简单的双向同步流。虽然对等复制也可以支持两个节点,但对于这种特定场景,双向复制能够提供更高的性能。

双向复制适用于需要两台活动服务器并保持数据同步的场景,例如高可用性的双活配置,或地理位置分散且每个站点都需要本地写入权限的应用。这种拓扑结构要求精心设计应用,以划分数据更新并防止冲突。

其优势包括:针对双服务器场景优化的性能、相比点对点复制更简单的配置、近乎实时的同步以及比合并复制更低的开销。缺点包括:仅限两台服务器、缺乏内置冲突解决机制(需要精心设计应用程序)以及需要合理的分区策略来防止冲突。

3.6 可更新订阅

可更新订阅扩展了事务复制的功能,允许订阅者偶尔更改复制的数据,这些更改随后会传播回发布者和其他订阅者。与专为频繁双向更新而设计的合并复制或对等拓扑结构不同,可更新订阅适用于主要数据流为单向(发布者到订阅者)但订阅者偶尔需要进行更正或更新的场景。

可更新订阅适用于以下场景:ost 更新通常在发布方进行,但订阅方也需要偶尔进行更新,例如主要读取数据但需要进行本地更正或更新的现场办事处。这种拓扑结构需要精心规划,以最大限度地减少冲突并确保数据一致性。

主要优点包括允许订阅者进行有限的写入操作,同时保持事务复制的性能特性。缺点包括复杂性增加、可能出现需要解决的冲突、立即更新模式下两阶段提交协议带来的性能开销,以及所有复制表都必须具有主键的要求。

3.7 不同类型重复实验的比较

复制类型 更新时间 出版商数量 方向性 使用方案
快照 时间点 1 单向(发布者→订阅者) 不经常更改的参考数据(价格表、汇率)
事务 近实时 1 单向(发布者→订阅者) 高吞吐量场景(电子商务库存、数据仓库、报表)
合并 周期性(连接时) 1 双向(发布者↔订阅者) 移动应用、离线工作人员(销售自动化、现场服务)
同行对同行 近实时 多个(3 个或以上) 双向(所有节点) 全球多数据中心部署(全球各地办事处,具有本地读写权限)
双向 近实时 2 双向(两个服务器) 双数据中心双活配置(双站点高可用性)
可更新订阅 近实时 1 主要为单向更新(偶尔会有反向更新) 主要负责阅读但偶尔也会更新(本地更正)的分支机构

4. 设置 SQL Server 复制

4.1 先决条件和要求

4.1.1 软件要求

SQL Server 复制需要兼容 SQL Server 拓扑中所有参与者的版本必须相同。分发者的版本必须等于或高于发布者的版本,而订阅者的版本可以与发布者的版本相差不超过两个版本。例如, SQL Server 2016 年发布者可以复制到 SQL Server 2012、2014、2016、2017 或 2019 年的订阅用户。

4.1.2 权限要求

配置复制需要在每个层级拥有特定的权限。sysadmin 固定服务器角色的成员可以执行所有复制配置任务。要获得更细粒度的权限,用户需要同时是发布服务器和订阅服务器数据库的 db_owner 数据库角色成员。

4.2 步骤 1:配置分发

配置分发是设置的第一步 SQL Server 复制。

使用以下方式配置分发 SQL Server 管理工作室:

  1. 连接到 SQL Server 实例在 SQL Server 管理工作室。
  2. 在对象资源管理器中,右键单击 复制 文件夹并选择 配置分发.
    Start 配置分发 SQL Server 复制。
  3. 在“配置分发向导”中,单击 下一篇 在欢迎页面上。
    配置分发向导
  4. 点击 合作伙伴 在该页面上,根据您的拓扑要求选择以下选项之一:
    • 当地经销商选择“服务器名称将作为其自身的分发服务器; SQL Server 如果您希望发布者和分发者在同一实例(当前实例)上运行,则会创建分发数据库和日志。此配置设置更简单,适用于规模较小的环境,或发布者和分发者之间的网络延迟会导致问题的情况。
    • 远程分销商选择“使用以下服务器作为分发服务器”,然后单击 添加 如果您希望将分发处理卸载到单独的实例,请指定远程分发服务器。此配置通过将工作负载分配到多个服务器上,在复制卷较大时提高性能。您需要提供远程分发服务器名称,并指定发布服务器用于连接到分发服务器的密码。

    配置分配器 SQL Server 复制

  5. 点击 下一篇 指定快照文件夹位置。请使用 UNC 路径(例如 \\servername\share\folder)而不是本地路径,以确保可通过网络访问。
    在“配置分发向导”中配置快照文件夹
  6. 点击 分发数据库 在该页面上,接受默认的分发数据库名称(通常为“distribution”)或指定自定义名称,然后配置数据和日志文件位置。
    配置分发数据库 SQL Server 复制
  7. 点击 发布商 在该页面上,确认当前服务器已启用为发布服务器。如果将当前服务器配置为分发服务器,则可以添加其他将使用此分发服务器的发布服务器。
    在以下位置配置发布者: SQL Server 复制
  8. 查看向导操作并单击 完成 配置分发。
    完成配置 SQL Server 复制

4.3 步骤 2:创建出版物

配置分发之后,下一步是创建发布,定义哪些数据对象将复制到订阅者。

使用以下方式创建出版物 SQL Server 管理工作室:

  1. 在对象资源管理器中,展开 复制 文件夹中。
  2. 右键单击 本地出版物 并选择 新出版物.
  3. 新出版向导tarts;点击 下一篇 在欢迎页面上。
  4. 从以下位置选择要发布的数据库: 出版物数据库 此页面。这将自动启用在所选数据库上发布内容的功能。
  5. 点击 出版物类型 在页面上,选择复制类型: 快照出版物交易出版物, 同行评审出版合并出版物.
  6. 点击 专题文章 页面,展开  节点并选择要包含在文章中的表格。
  7. (可选)扩展 存储程序观看数或其他对象类型,以包含其他文章。
  8. 点击 文章属性 配置筛选或其他文章特定设置。
  9. 点击 筛选表格行 页面,如有需要,添加行筛选器。
  10. 点击 快照代理 在此页面,选择何时创建快照:立即创建、在特定时间创建或按计划创建。
  11. 点击 代理安全 在页面上,指定快照代理的安全上下文。
  12. 点击 巫师行动 页面,选择 创建出版物.
  13. 请提供出版物名称并点击 完成.
    在以下位置创建新出版物 SQL Server 复制

4.4 步骤 3:创建订阅

创建出版物之后,下一步是创建订阅,将出版物连接到订阅者数据库。

订阅可以是推送式订阅(由分销商管理)或拉取式订阅(由订阅者管理)。主要区别在于创建订阅的位置以及选择的代理位置,这决定了订阅的操作方式(推送或拉取)。

推送订阅 (由分销商管理):

  1. 点击 发行人 服务器,展开 复制 -> 本地出版物.
  2. 右键单击该出版物并选择 新订阅.

拉取订阅 (由订阅者管理):

  1. 点击 订户 服务器,展开 复制, 右键点击 本地订阅,然后选择 新订阅.
  2. 点击 出版物 页面中,单击 找到最适合您的地方 SQL Server 出版商 并连接到发布者服务器。

两种订阅类型通用的向导步骤:

  1. 在“新建订阅向导”中,单击 下一篇 在欢迎页面上。
  2. 选择出版物并点击 下一篇.
  3. 点击 分销代理商地点 在页面上,选择代理位置:
    • 推送订阅选择“在分发商处运行所有代理”——分发商会将更改推送给订阅者。
    • 订阅选择“在每个订阅者上运行每个代理”——每个订阅者将从分发者拉取更改。
  4. 点击 认购 在页面上,选择现有订阅服务器或点击 添加用户 添加新的。
  5. 对于每个订阅者,选择目标数据库或创建一个新数据库。 请注意: 订阅数据库必须与发布商数据库不同,即使使用相同的数据库。 SQL Server 实例。
  6. 点击 分销代理安全 在页面上,单击每个订阅的属性按钮来配置安全上下文。
  7. 点击 同步计划 在此页面,选择连续同步或计划同步。
  8. 点击 初始化订阅 页面,选择 立即 在向导完成期间初始化或 首次同步.
  9. 查看向导操作并单击 完成.
    创建新订阅 SQL Server 使用新建订阅向导进行复制。

5. 监控和管理 SQL Server 复制

5.1 使用复制监视器监控复制

启动复制监视器:

  1. In SQL Server 管理工作室,扩展 复制 在对象资源管理器中。
  2. 右键单击 复制 并选择 启动复制监视器.
  3. 如果没有注册发布商,请点击 添加发布者 在左侧窗格中。
  4. 选择 添加 SQL Server 出版商 并连接到发布者服务器。
  5. 发布者显示在左侧窗格中,其中包含可展开的节点,用于显示出版物和订阅信息。

使用复制监视器来监视 SQL Server 复制。

5.2 性能监控

5.2.1 监视器延迟

复制延迟是指发布服务器上的更改与订阅服务器上应用该更改之间的时间延迟。监控延迟可确保数据新鲜度满足业务需求。

使用复制监视器可在“所有订阅”选项卡上查看延迟指标。“延迟”列显示平均延迟(以秒为单位)。对于事务复制,跟踪令牌通过插入标记事务来提供精确的延迟测量,这些标记事务会在复制管道中进行跟踪。

使用追踪令牌:

  1. 在复制监视器中,选择一个事务发布。
  2. 点击 追踪令牌 标签。
  3. 点击 插入跟踪器 注入标记交易。
  4. 监控代币从发布者到分发者再到订阅者的整个过程。
  5. 查看每个环节所花费的时间,找出瓶颈所在。

插入追踪令牌以获取更精确的延迟测量结果 SQL Server 复制

5.2.2 监控吞吐量

吞吐量衡量的是一段时间内复制的数据量,通常以每秒事务数或每秒命令数表示。监控吞吐量可确保复制速度能够跟上发布者的活动速度。

虽然复制监视器提供基本的同步状态,但传输速率和详细的吞吐量指标在图形用户界面 (GUI) 中不可见。请使用针对分发数据库的 T-SQL 查询来监视吞吐量:

USE distribution
GO

-- Direct join to avoid subquery
SELECT TOP 20
    h.time AS [Time],
    a.name AS [Agent Name],
    h.runstatus AS [Status],
    h.delivered_transactions AS [Delivered Transactions],
    h.delivered_commands AS [Delivered Commands],
    h.delivery_rate AS [Delivery Rate (commands/sec)],
    h.delivery_latency AS [Delivery Latency (ms)],
    h.comments AS [Comments]
FROM MSdistribution_history h
JOIN MSdistribution_agents a ON h.agent_id = a.id
WHERE a.name LIKE '%MyPublication2%'
AND h.runstatus IN (2, 3, 4, 6)
ORDER BY h.time DESC
GO

状态码:1 = Start,2 = 进行中,3 = 成功,4 = 空闲,5 = 重试,6 = 失败。比较交付率与发布者事务率,以识别复制滞后的情况。性能计数器 Windows 性能监视器 为每个复制代理提供额外的吞吐量指标。

5.2.3 识别瓶颈

复制瓶颈可能出现在拓扑结构的多个位置。在发布服务器上,快照生成时间过长或日志读取代理延迟可能表明资源受限。在复制活动期间,应监控发布服务器上的 CPU、内存和磁盘 I/O。

在分发服务器端,检查分发数据库中是否存在累积的交易。大量未分发的命令表明分发服务器无法跟上交付速度。监控分发服务器资源,并考虑在高交易量场景下使用专用远程分发服务器。

检查未分发的命令,以查找性能瓶颈。 SQL Server 复制

在订阅端,变更应用缓慢可能是由于资源不足、索引缺失或插入操作受限等原因造成的。当分发代理运行时,应监控订阅端资源利用率和查询性能。组件间的网络带宽限制也会导致瓶颈,尤其是在处理大数据量时。

5.3 管理复制代理

5.3.1小号tart 和停止代理

到tar停止或停止复制代理:

  1. In SQL Server 管理工作室,扩展 SQL Server 经纪人 -> 工作机会.
  2. 找到复制代理作业(名称通常包含发布和订阅者信息)。
  3. 右键单击该作业并选择 Star工作 or 停止作业.

Star或停止复制代理 SQL Server 复制

5.3.2 配置代理配置文件

代理配置文件包含控制代理行为的参数集。 SQL Server 提供针对常见场景优化的默认配置文件,您还可以根据特定需求创建自定义配置文件。

修改代理配置文件:

  1. 在对象资源管理器中,展开 复制.
  2. 右键单击 复制 并选择 分销商属性.
  3. 点击 配置文件默认值 按钮。
  4. 从下拉菜单中选择代理类型(快照、日志读取器、分发或合并)。
  5. 选择个人资料并点击 物业 查看参数值。
  6. 点击 新的配置文件 基于现有配置文件创建自定义配置文件。
  7. 根据需要修改参数并单击 OK.

配置代理配置文件

通过编辑订阅属性并从“代理配置文件”下拉菜单中选择所需的配置文件,将配置文件应用到代理。

5.3.3 代理参数和设置

代理参数可微调性能和行为。分发代理的关键参数包括 CommitBatchSize(每次提交应用的事务数)、CommitBatchThreshold(提交前的命令数)、SubscriptionStreams(用于加快传输速度的并行连接)和 QueryTimeout(命令超时时间)。

对于日志读取代理,重要参数包括 ReadBatchSize(每次扫描读取的事务数)、ReadBatchThreshold(交付前的命令数)和 PollingInterval(日志扫描之间的延迟)。根据事务量和延迟要求调整这些参数。

配置代理属性

5.4 备份和恢复注意事项

备份参与复制的数据库需要特别注意。对于发布服务器数据库,定期进行完整备份和事务日志备份至关重要。在备份事务复制数据库时,使用 WITH REPLICATION 选项将数据库备份标记为支持复制。定期备份分发数据库以保护复制配置。

将发布者数据库还原到同一服务器并使用相同名称时,请使用 WITH KEEP_REPLICATION 选项来保留复制状态。此选项可确保日志读取器代理尚未处理的事务仍标记为待复制,从而允许复制自动继续进行,而无需重新初始化订阅。

在灾难恢复场景中,如果备份不可用、备份损坏或数据库文件损坏,则可能需要专门的恢复工具。 DataNumen SQL Recovery 可以从损坏或无法访问的 MDF 和 NDF 文件中提取数据,在标准恢复程序失败时提供最后的选择。

有关详细信息 SQL Server 备份,请参阅我们的 综合指南.

6. 常见问题 (FAQ)

问:快照复制和事务复制有什么区别?

答:快照复制会在特定时间点获取数据的完整副本,并将其应用到订阅服务器,适用于不经常更改的数据。事务复制tarts 会创建一个初始快照,然后随着事务的发生不断复制各个事务,从而为频繁变化的数据提供近乎实时的同步。

问:我可以在不同的 SQL Server 版本?

答:是的, SQL Server 复制功能支持有限范围内的版本兼容性。分发服务器的版本必须等于或高于发布服务器的版本,而订阅服务器的版本可以与发布服务器的版本相差不超过两个版本。例如,如果发布服务器的版本是…… SQL Server 2016年,订阅者可以是 SQL Server 2012年、2014年、2016年、2017年或2019年。

问:如何处理合并复制中的冲突?

答:合并复制提供了内置的冲突检测和解决机制。您可以在条目级别配置冲突解决器,可以选择内置解决器或实现自定义冲突解决器。冲突通常使用基于优先级或基于时间戳的方法解决,并且可以选择记录冲突以供人工审核。

问:复制操作会对性能产生哪些影响?

答:复制会从多个方面影响性能:发布服务器会因跟踪更改和生成快照而产生额外开销,分发服务器会使用资源来存储和转发事务,数据传输期间还会消耗网络带宽。影响程度因复制类型而异,快照复制会导致周期性的高影响突发,而事务复制则能维持更稳定但持续的负载。

问:如何确保我的复制拓扑结构的安全?

答:通过实施以下几项最佳实践来保护您的复制拓扑:使用 Windows 身份验证或强身份验证。 SQL Server 进行身份验证,使用 TLS 加密连接,并使用适当的方法保护快照文件夹。 NTFS 权限,配置发布访问列表 (PAL) 以控制访问,为每个复制代理使用具有最低所需权限的单独服务帐户,并定期审核复制安全设置。

问:我可以复制到 Azure SQL 数据库吗?

答:是的,您可以使用事务复制将本地数据库复制到 Azure SQL 数据库。 SQL Server 或者使用 Azure SQL 托管实例作为发布者和分发者。Azure SQL 数据库可以作为订阅者,但不能作为发布者或分发者。Azure SQL 数据库不支持合并复制和对等复制。

问:如何监控复制延迟?

A:使用复制监视器监控复制延迟 SQL Server 管理工作室会显示每个订阅的延迟指标。您还可以查询分发数据库表(例如 MSdistribution_history 和 MSrepl_commands),使用特定于复制代理的性能计数器,或根据延迟阈值设置警报,以主动检测和解决同步延迟。

问:当用户离线时会发生什么情况?

答:当订阅节点离线时,其行为取决于复制类型。对于事务复制,事务会累积在分发数据库中,直到订阅节点重新上线,然后恢复同步。对于合并复制,更改会在两端同时跟踪,并在连接恢复后合并。保留期设置决定了数据在必须重新初始化之前保留多长时间。

问:如何向现有出版物添加新文章?

答:要向现有出版物添加新文章,请使用 SQL Server 您可以使用 Management Studio 修改发布属性并选择其他对象,或者使用 sp_addarticle 存储过程。添加文章后,请生成新的快照并重新初始化所有订阅,以确保订阅者能够收到新文章。根据发布设置的不同,某些更改可能需要重新初始化订阅。

问:如何从数据库中移除复制功能?

答:要从数据库中移除复制,首先使用 sp_dropsubscription 删除所有订阅,然后使用 sp_droppublication 删除发布,最后使用 sp_replicationdboption 禁用数据库上的发布功能。如果服务器是分发服务器,则使用 sp_dropdistributor 禁用分发功能。移除复制配置之前,务必备份数据库。

问: 有什么区别 SQL Server 复制和 AlwaysOn 可用性组?

答:复制是一种在对象级别运行的数据分发和集成解决方案,而 Always On 可用性组 是一种在数据库级别运行的高可用性和灾难恢复解决方案。

7. 结论

SQL Server 复制技术提供了一个强大的框架,用于跨多个数据库和位置分发和同步数据。该技术通过不同的复制类型支持各种应用场景。

选择合适的复制策略取决于您的具体需求。需要考虑数据变更频率、延迟要求、用户是否需要更新、网络特性以及用户自主性需求。快照复制最适合不经常变更且延迟要求不高的参考数据。事务复制适用于需要低延迟且主要为单向数据流的高容量场景。

当订阅者需要具备离线自主运行能力和双向同步功能时,请选择合并复制。对于需要在多个活动节点上进行负载均衡读取操作并实现近乎实时一致性的情况,请实施点对点复制。对于具有多样化需求的复杂场景,请考虑结合多种复制类型的混合方案。

案例


关于作者

袁盛 是一位高级数据库管理员 (DBA),拥有超过 10 年的 SQL Server 环境和企业数据库管理。他成功解决了金融服务、医疗保健和制造等行业的数百个数据库恢复场景。

袁专长于 SQL Server 数据库恢复、高可用性解决方案和性能优化。他拥有丰富的实践经验,包括管理多TB数据库、实施Always On可用性组以及为关键业务系统开发自动备份和恢复策略。

通过他的技术专长和实践方法,袁致力于创建全面的指南,帮助数据库管理员和 IT 专业人员解决复杂的 SQL Server 高效应对挑战。他始终掌握最新 SQL Server 版本和微软不断发展的数据库技术,定期测试恢复场景以确保他的建议反映现实世界的最佳实践。

有关于的问题 SQL Server 恢复或需要额外的数据库故障排除指导?袁欢迎 反馈和建议 用于改进这些技术资源。

立即分享: