Debian上SQL Server的数据库复制怎么设置

289
2025/2/26 0:33:01
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Debian上设置SQL Server的数据库复制,可以按照以下步骤进行:

前提条件

  1. 安装SQL Server:确保已经在Debian上安装了SQL Server。
  2. 配置SQL Server:确保SQL Server实例已经正确配置,并且可以正常访问。

步骤

1. 安装必要的软件包

首先,确保安装了必要的软件包,包括sqlcmdmssql-tools

sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev

2. 配置SQL Server网络

确保SQL Server的网络配置允许远程连接。

编辑/etc/sqlserver/sqlserver.conf文件,确保以下配置项正确:

[Network]
TcpPort = 1433

然后重启SQL Server服务:

sudo systemctl restart mssql-server

3. 创建发布

在发布服务器上创建一个发布。

  1. 打开SQL Server Management Studio (SSMS) 或使用sqlcmd连接到发布服务器。
  2. 执行以下SQL命令创建发布:
USE [master]
GO

EXEC sp_addpublication 
    @publication = N'YourPublicationName', 
    @description = N'Transactional publication of object', 
    @repl_freq = N'continuous', 
    @status = N'active', 
    @allow_push = N'true', 
    @allow_pull = N'true', 
    @allow_subscription_copy = N'true', 
    @snapshot_in_defaultfolder = N'true', 
    @compress_snapshot = N'true', 
    @ftp_port = N'21', 
    @allow_web_sync = N'true', 
    @independent_agent = N'true', 
    @immediate_sync = N'true', 
    @allow_subscription_backup = N'true', 
    @add_to_active_directory = N'false', 
    @repl_type = N'transactional'
GO

4. 添加文章

添加要复制的表。

USE [YourPublicationName]
GO

EXEC sp_addarticle 
    @publication = N'YourPublicationName', 
    @article = N'YourTableName', 
    @source_object = N'YourTableName', 
    @type = N'logbased', 
    @description = N'', 
    @pre_creation_cmd = N'drop', 
    @schema_option = 0x000000000803509F, 
    @identityrangemanagementoption = N'manual', 
    @destination_owner = N'', 
    @destination_table = N'YourTableName', 
    @status = 24, 
    @vertical_partition = N'false', 
    @ins_cmd = N'CALL sp_MSins_YourTableName', 
    @del_cmd = N'CALL sp_MSdel_YourTableName', 
    @upd_cmd = N'CALL sp_MSupd_YourTableName'
GO

5. 创建订阅

在订阅服务器上创建一个订阅。

  1. 连接到订阅服务器。
  2. 执行以下SQL命令创建订阅:
USE [master]
GO

EXEC sp_addsubscription 
    @publication = N'YourPublicationName', 
    @subscriber = N'SubscriberServerName', 
    @destination_db = N'DestinationDatabaseName', 
    @subscription_type = N'Push', 
    @sync_type = N'automatic', 
    @article = N'all', 
    @update_mode = N'read only', 
    @subscriber_type = 0
GO

6. 初始化订阅

初始化订阅以复制现有数据。

USE [master]
GO

EXEC sp_startpublication_snapshot 
    @publication = N'YourPublicationName'
GO

验证复制

  1. 在发布服务器上检查复制状态:
EXEC sp_helpsubscription 
    @publication = N'YourPublicationName'
  1. 在订阅服务器上检查数据是否同步。

注意事项

  • 确保防火墙允许SQL Server的端口(默认是1433)通信。
  • 根据实际需求调整复制配置参数。
  • 定期监控复制状态,确保数据同步正常。

通过以上步骤,你应该能够在Debian上成功设置SQL Server的数据库复制。如果有任何问题,请参考SQL Server官方文档或寻求专业帮助。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Debian环境下JSP调试技巧有哪些