如何在SQLServer上配置中继(sqlserver 中继)

复制

SQL Server 中继复制是一种更新从发布者复制到订阅者的一种方式。简单来说,可以在不直接发送到客户端的情况下,在服务器上发布和复制数据,中继者是更新首先不是从发布者复制的第一介质,从而改变了数据的路径流向。

那么,如何在SQL Server上配置中继复制呢?

一、建立中继服务器

首先在SQL Server管理工具中新建一个中继服务器,可以使用脚本命令或手动进行设置,脚本如下:

USE [master]
GO
EXEC sp_add_replication_subscriber
@subscriber = 'RelayServer',
@subscriber_type = N'local',
@subscriber_db = N'Demo'
GO

其中subscriber指定一个中继服务器的名称,subscriber_type指定了中继服务器的类型,subscriber_db指定中继服务器的数据库名称,用于接收和储存传输的数据。

二、初始化中继复制传输

完成中继服务器的设置后,进入传输活动设置,新建一个传输代理以将发布物发送到中继服务器,可以使用如下的脚本来设置:

-- 创建传输会话
DECLARE @publication AS sysname
SET @publication = N'Test'
DECLARE @subscriber AS sysname
SET @subscriber = N'RelayServer'
EXEC sp_replicationdboption
@dbname = 'Test',
@optname = N'merge publish',
@value = N'true'
GO

--启动传输
USE [distribution]
GO
EXEC sp_replicationagent
@publication = N'Test',
@subscriber = N'RelayServer',
@job_login = NULL,
@job_password = NULL,
@subscriber_security_mode = 0,
@frequency_type = 4,
@frequency_interval = 5,
@frequency_relative_interval = 5,
@frequency_recurrence_factor = 0,
@frequency_subday = 8,
@frequency_subday_interval = 1,
@active_start_time_of_day = 0,
@active_end_time_of_day = 235959,
@active_start_date=20130605,
@active_end_date = 99991231,
@job_name = N'Test Distribution'
GO

其中@publication指定待传输的发布物,@subscriber指定中继服务器,@frequency_interval指定间隔时间,@active_start_date指定发布物传输的开始日期,@active_end_date指定发布物传输的结束日期。

三、添加订阅者

添加订阅者后,就可以开始收到中继服务器转发的更新数据了,可以使用如下的脚本来添加订阅者:

USE [master] 
GO
EXEC sp_add_subscription
@publication = N'Test',
@subscriber = N'ClientServer',
@destination_db = N'Test',
@subscription_type = N'push',
@sync_type = N'automatic',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0
GO

最后,确认所有的配置完成,即可完成SQL Server的中继复制设置,点击启动,就可以开始中继复制,更新数据便会更新到订阅者服务器。

以上就是在SQL Server上配置中继复制的简单步骤,使用中继复制可以有效地控制数据传输,提升效率。


数据运维技术 » 如何在SQLServer上配置中继(sqlserver 中继)