tencent cloud

云数据库 SQL Server

动态与公告
产品动态
产品公告
新手指引
产品简介
产品概述
产品架构
产品优势
应用场景
地域和可用区
大版本生命周期说明
功能概览及差异
实例类型
实例规格
存储类型
常用概念
网络环境
许可声明
购买指南
计费概述
产品价格
购买方式
续费说明
欠费说明
退费说明
按量转包年包月
调整实例费用说明
本地备份空间收费说明
跨地域备份收费说明
查看账单明细
快速入门
创建 SQL Server 实例
连接 SQL Server 实例
管理 SQL Server 实例
操作指南
约束与限制
使用规范与建议
维护管理实例
调整实例配置
只读实例
网络管理
账号管理
数据库管理
数据安全
参数配置
监控与告警
备份与回档
日志管理
发布订阅
数据集成服务(SSIS)
数据迁移(新版)
数据迁移(旧版)
数据同步(DTS)
实践教程
云数据库 SQL Server 定期维护方法
云数据库 SQL Server 慢 SQL 优化
如何更好地使用 Tempdb
跨账号备份恢复
为云数据库 SQL Server 创建 VPC
金蝶K/3 WISE 接入云数据库 SQL Server
账号权限和权限控制
变更数据捕获功能的开启和关闭
收缩数据库
API 文档
History
Introduction
API Category
Making API Requests
Sales and fee related APIs
Instance Management related APIs
Operation and maintenance management related APIs
Network management related APIs
Account management related APIs
Database management related APIs
Security group management related APIs
Data security encryption related APIs
Parameter configuration related APIs
Extended Event related APIs
Log management related APIs
Read only instance management related APIs
Publish and subscribe related APIs
Backup related APIs
Rollback related APIs
Data migration (cold standby migration) related APIs
SQL Server Integration Services (SSIS) related APIs
Data migration (DTS old version) related APIs
Data Types
Error Codes
常见问题
常见问题概览
选购咨询
计费与选购
连接与网络
账号与权限
备份与回档
数据迁移
发布订阅
只读实例
版本架构升级
磁盘扩缩容与规格升降级
监控与告警
日志相关
参数修改
功能特性相关
性能空间内存相关
相关协议
服务等级协议
服务条款
性能测试
性能测试报告
词汇表
联系我们

发布订阅概述

PDF
聚焦模式
字号
最后更新时间: 2025-06-04 18:59:56

简介

腾讯云数据库 SQL Server 支持 Microsoft SQL Server 原生的发布订阅复制功能,用户可在 云数据库 SQL Server 控制台 上进行自助创建、变更、删除发布和订阅服务器,满足用户业务的数据复制和同步需求。
注意:
云数据库 SQL Server 单节点(原基础版)、多节点不支持发布订阅。

基本概念

SQL Server 使用出版业术语表示复制拓扑中的组件,其中包括发布服务器、分发服务器、订阅服务器、发布、项目和订阅。可借助杂志的概念来帮助理解 Microsoft SQL Server 复制:
杂志出版商(发布服务器)生产一种或多种刊物(发布)
刊物(发布)包含文章(项目)
出版商(发布服务器)可以直接发行杂志,也可以使用发行商(分发服务器)
订阅者(订阅服务器)接收订阅的刊物(发布)

基础架构

“复制拓扑” 定义了服务器和数据副本间的关系,并阐明了决定数据如何在服务器之间流动的逻辑。 有若干复制进程(称为“代理” )负责在发布服务器和订阅服务器之间复制和移动数据。 下图为复制中所涉及的组件和进程。



发布服务器

发布服务器是一种数据库实例,它通过复制向其他位置提供数据。发布服务器可以有一个或多个发布,每个发布定义一组要复制的具有逻辑关系的对象和数据。

分发服务器

分发服务器也是一种数据库实例,它起着存储区的作用,用于复制与一个或多个发布服务器相关联的特定数据。每个发布服务器都与分发服务器中的单个数据库(称作分发数据库)相关联。
分发数据库可存储复制状态数据和有关发布的元数据,并且在某些情况下为从发布服务器向订阅服务器移动的数据起排队的作用。
在很多情况下,一个数据库服务器实例充当发布服务器和分发服务器两个角色,这称为“本地分发服务器” 。当发布服务器和分发服务器按各自的数据库服务器实例配置时,把分发服务器称为“远程分发服务器” 。

订阅服务器

订阅服务器是接收复制数据的数据库实例。订阅服务器可以接收来自多个发布服务器发布的数据。根据所选的复制类型,订阅服务器还可以将数据更改传递回发布服务器或者将数据重新发布到其他订阅服务器。

项目

项目用于标识发布中包含的数据库对象,一次发布可以包含不同类型的项目。

发布

发布是一个数据库中的一个或多个项目的集合。将多个项目分组成一个发布,使得更便于指定一组作为一个单元复制的、具有逻辑关系的数据库对象和数据。

订阅

订阅是把发布副本传递到订阅服务器的请求。订阅定义将接收的发布和接收的时间、地点。

功能说明

1. 云数据库 SQL Server 发布订阅默认采用事务复制方式。 事务复制通常从发布数据库对象和数据的快照开始。创建初始快照后,接着在发布服务器上所做的数据更改和架构修改通常在修改发生时(几乎实时)便传递给订阅服务器。 数据更改将按照其在发布服务器上发生的顺序和事务边界应用于订阅服务器,因此,在发布内部可以保证事务的一致性。 事务复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务复制:
希望发生增量更改时将其传播到订阅服务器。
从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
应用程序需要访问中间数据状态。例如,如果某一行更改了五次,事务复制将允许应用程序响应每次更改(如,激发触发器),而不只是响应该行最终的数据更改。
发布服务器有大量的插入、更新和删除活动。
2. 云数据库 SQL Server 发布订阅配置“远程分发服务器”,保证发布服务器故障切换后,自动恢复发布订阅链路,对订阅服务器无感知。但订阅服务器故障后,链路需要手动修复。

功能限制

仅支持发布实例与订阅实例均为腾讯云数据库 SQL Server 的场景。
只读实例无法作为发布服务器,也无法作为订阅服务器。
发布实例与订阅实例必须属于同一版本,而且在相同地域(可跨可用区)。
无主键的数据表无法被订阅,可通过如下代码检查需要发布库中是否存在无主键的表。
use dbname
select name from sys.sysobjects where xtype='U' and id not in(select parent_obj from sys.sysobjects where xtype='PK')
订阅实例与发布实例存在同名数据库时,该库无法被订阅。
创建发布订阅链路后,链路中的数据库被删除,该发布订阅链路也将被删除。
发布实例或订阅实例一方被销毁,发布订阅链路也将被删除。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈