(eg:用A、B代表两台服务器,前提两台服务器之间没有配置任何关于订阅分发的事项)
环境配置:在A和B之间配置别名对应的IP地址,参考文章:https://www.cnblogs.com/DBArtist/p/5803271.html。
配置完成后,需要在订阅服务器上创建指定的数据库用于接收发布的数据
实现效果:在A、B之间根据指定的【表】和 【表中的列】实现事务发布
具体代码:按照脚本执行即可,将看到的带有注释的参数,填入实际的值,执行即可
----------------1.设置分发服务器
USE master ;
EXEC sp_adddistributor @distributor = N'', --分发服务器实例名称
@password = N'' ;
GO
----------------2.创建分发数据库
EXEC sp_adddistributiondb @database = N'', --分发数据库名称
@data_folder = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.DEVELOP\MSSQL\Data',
@log_folder = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.DEVELOP\MSSQL\Data',
@log_file_size = 2,
@min_distretention = 0,
@max_distretention = 72,
@history_retention = 48,
@security_mode = 1 ;
GO
----------------3.配置分发数据库
USE [distribution] ; --分发数据库的名称
IF ( NOT EXISTS ( SELECT * FROM sysobjects WHERE name = 'UIProperties' AND type = 'U ' ))
CREATE TABLE UIProperties ( id INT ) ;
IF ( EXISTS (
SELECT *
FROM ::fn_listextendedproperty('SnapshotFolder', 'user', 'dbo', 'table', 'UIProperties', NULL, NULL)
)
)
EXEC sp_updateextendedproperty N'SnapshotFolder',
N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.DEVELOP\MSSQL\ReplData',
'user',
dbo,
'table',
'UIProperties' ;
ELSE
EXEC sp_addextendedproperty N'SnapshotFolder',
N'D:\Pr