创建 SQL Server 2019 主从数据库的完整指南
在分布式系统和高可用性场景中,主从数据库(也称为主从复制)是一种流行的架构,使得数据可以在多个地方进行存储和读取。本文将引导您逐步完成 SQL Server 2019 中主从数据库的设置。
整体流程
以下是实现主从数据库的基本步骤:
步骤 | 描述 |
---|---|
1 | 准备主数据库和从数据库的环境 |
2 | 在主数据库上配置发布 |
3 | 在从数据库上配置订阅 |
4 | 测试主从复制 |
步骤详解
1. 准备主数据库和从数据库的环境
确保您已经在两台服务器上安装了 SQL Server 2019,并且它们能够互相连接。您需要确保执行 SQL Server Agent 服务。
2. 在主数据库上配置发布
连接到主数据库服务器,并执行以下 SQL 脚本来创建发布:
-- 创建发布的数据库
USE [YourDatabaseName];
GO
-- 创建发布
EXEC sp_addpublication
@publication = N'YourPublicationName',
@status = N'active',
@database = N'YourDatabaseName',
@sync_method = N'NATIVE',
@retention = 0,
@allow_push = N'true',
@allow_pull = N'true';
GO
这段代码设置了一份名为 YourPublicationName
的数据库发布。
3. 在从数据库上配置订阅
在从数据库上,您需要连接并执行下面的代码来创建订阅:
-- 连接到从服务器
USE [YourDatabaseName];
GO
-- 创建订阅
EXEC sp_addsubscription
@publication = N'YourPublicationName',
@subscriber = N'SubscriberServerName',
@destination_db = N'YourDatabaseName',
@sync_type = N'automatic';
GO
这段代码在从数据库上添加对 YourPublicationName
的订阅,其中 SubscriberServerName
是从服务器的名称。
4. 测试主从复制
您可以在主数据库中插入数据,然后检查从数据库,确保数据被正确复制。以下是示例查询:
-- 在主数据库中插入数据
USE [YourDatabaseName];
GO
INSERT INTO YourTableName (Column1, Column2)
VALUES ('Value1', 'Value2');
GO
-- 在从数据库中查询
USE [YourDatabaseName];
GO
SELECT * FROM YourTableName;
GO
这段代码首先在主数据库的 YourTableName
中插入数据,然后在从数据库中查询该表确认数据是否已经复制。
序列图
下面是主从数据库操作的序列图,用于更好地理解步骤:
sequenceDiagram
participant M as 主数据库
participant S as 从数据库
participant C as 客户端
C->>M: 插入数据
M->>S: 发送数据复制请求
S->>M: 确认收到请求
M->>S: 数据复制成功
结尾
本指南提供了设置 SQL Server 2019 主从数据库的基本步骤和代码示例。通过遵循上述指导,您可以有效地配置和管理主从数据库,从而提升数据的可用性和可靠性。请确保在实际操作中替换示例中的名称和数据库,以适合您的场景。同时,确保定期监视和维护主从复制的健康状态,以避免潜在的问题。如果您对某一步骤有疑问,欢迎随时咨询!