如何在SQLServer上配置中继(sqlserver 中继)
复制
SQL Server 中继复制是一种更新从发布者复制到订阅者的一种方式。简单来说,可以在不直接发送到客户端的情况下,在服务器上发布和复制数据,中继者是更新首先不是从发布者复制的第一介质,从而改变了数据的路径流向。
那么,如何在SQL Server上配置中继复制呢?
一、建立中继服务器
首先在SQL Server管理工具中新建一个中继服务器,可以使用脚本命令或手动进行设置,脚本如下:
USE [master]
GOEXEC sp_add_replication_subscriber
@subscriber = 'RelayServer', @subscriber_type = N'local',
@subscriber_db = N'Demo'GO
其中subscriber指定一个中继服务器的名称,subscriber_type指定了中继服务器的类型,subscriber_db指定中继服务器的数据库名称,用于接收和储存传输的数据。
二、初始化中继复制传输
完成中继服务器的设置后,进入传输活动设置,新建一个传输代理以将发布物发送到中继服务器,可以使用如下的脚本来设置:
-- 创建传输会话
DECLARE @publication AS sysnameSET @publication = N'Test'
DECLARE @subscriber AS sysnameSET @subscriber = N'RelayServer'
EXEC sp_replicationdboption @dbname = 'Test',
@optname = N'merge publish', @value = N'true'
GO
--启动传输USE [distribution]
GOEXEC 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]
GOEXEC 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上配置中继复制的简单步骤,使用中继复制可以有效地控制数据传输,提升效率。