创建 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 主从数据库的基本步骤和代码示例。通过遵循上述指导,您可以有效地配置和管理主从数据库,从而提升数据的可用性和可靠性。请确保在实际操作中替换示例中的名称和数据库,以适合您的场景。同时,确保定期监视和维护主从复制的健康状态,以避免潜在的问题。如果您对某一步骤有疑问,欢迎随时咨询!