fyy5522 2024-11-13 15:10 采纳率: 33.3%
浏览 16
已结题

Ubuntu系统sql server2022开发版 主从实时备份

在两台服务器 Ubuntu20.04系统上实现sql server 2022 开发版数据库主从实时备份,服务器是内网的请问怎么可以实现。

  • 写回答

10条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2024-11-14 09:31
    关注

    🕖上午好,题主!目前:🟢[在线]
    📢参考通义千问、由郭老师整理提供!
    📣今日诗号:问世间,情是何物,直教生死相许?

    在Ubuntu系统上设置SQL Server 2022开发版的主从实时备份涉及到几个步骤,包括安装和配置SQL Server、创建主数据库、创建从数据库以及配置复制。请注意,SQL Server原生支持的高可用性功能如Always On可用性组主要用于Windows环境,而Linux下的SQL Server主要通过逻辑复制来实现类似的功能。以下是一个基本的思路和部分示例代码,帮助你在两台Ubuntu 20.04服务器上实现SQL Server 2022开发版的主从实时备份。

    步骤1:安装SQL Server

    首先,在两台服务器上安装SQL Server 2022开发版。可以通过Microsoft提供的脚本来完成:

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc.gpg > /dev/null
    sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
    sudo apt-get update
    sudo apt-get install -y mssql-server
    

    安装完成后,使用/opt/mssql/bin/mssql-conf setup命令进行SQL Server配置。

    步骤2:创建主数据库

    在主服务器上创建一个数据库,并启用复制:

    -- 创建数据库
    CREATE DATABASE MyDatabase;
    GO
    
    -- 启用数据库的复制功能
    USE MyDatabase;
    GO
    EXEC sp_replicationdboption @dbname = N'MyDatabase', @optname = N'publish', @value = N'true';
    GO
    

    步骤3:创建发布

    接下来,在主服务器上创建一个发布:

    -- 创建发布
    EXEC sp_addpublication @publication = N'MyPublication', @description = N'My Publication for Replication', @retention = 0, @allow_push = N'true', @allow_pull = N'false';
    GO
    
    -- 添加项目到发布
    EXEC sp_addpublication_article @publication = N'MyPublication', @article = N'MyTable', @source_object = N'MyTable', @type = N'logbased';
    GO
    

    步骤4:配置从数据库

    在从服务器上,也需要安装SQL Server并配置它以连接到主服务器。然后,你需要订阅主服务器上的发布:

    -- 订阅发布
    EXEC sp_addsubscription @publication = N'MyPublication', @subscriber = N'YourSubscriberServerName', @destination_db = N'MyDatabase', @subscription_type = N'push', @sync_type = N'initialize with backup', @article = N'all';
    GO
    

    步骤5:启动复制代理

    最后一步是在主服务器上启动复制代理,以开始数据同步:

    -- 启动复制代理
    EXEC sp_startpublication_snapshot @publication = N'MyPublication';
    GO
    

    以上是一个简化的过程,实际操作中可能需要根据具体需求调整配置。此外,确保两台服务器之间有网络连接,并且防火墙规则允许必要的端口通信(默认情况下,复制使用TCP端口1433)。

    请注意,上述过程假设你对SQL Server的复制机制有一定的了解,并且已经准备好了相应的安全措施(例如,使用加密等)。对于更复杂的需求或环境,建议参考官方文档或寻求专业的技术支持。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月14日
  • 赞助了问题酬金20元 11月14日
  • 创建了问题 11月13日