【创建使用本地分发服务器】
?
/************************【使用本地分发服务器配置发布】***********************/
-- SqlServer 2008 R2
-- https://technet.microsoft.com/zh-cn/library/ms151860(v=sql.105).aspx
use master
go
-- 服务器上是否已安装分发服务器
-- https://msdn.microsoft.com/zh-cn/library/ms190339(v=sql.105).aspx
exec master.dbo.sp_get_distributor
go
-- 配置分发服务器
-- https://msdn.microsoft.com/zh-cn/library/ms176028(v=sql.105).aspx
exec master.dbo.sp_adddistributor
@distributor = 'KK' --分发服务器名称
,@heartbeat_interval = 10 --代理在不记录进度消息的情况下可以运行的最长分钟数
,@password = N'201card113@app' --分发服务器密码
go
-- 配置分发数据库
-- https://msdn.microsoft.com/zh-cn/library/ms189755(v=sql.105).aspx
exec master.dbo.sp_adddistributiondb
@database = N'distribution' --要创建的分发数据库的名称
,@data_folder = N'E:\TempFile\Distribution' --分发数据库数据文件的目录
,@data_file = N'distribution' --数据库文件的名称
,@data_file_size = 5 --初始数据文件大小,以兆字节 (MB) 为单位
,@log_folder = N'E:\TempFile\Distribution' ----分发数据库日志文件的目录
,@log_file = N'distribution_log'
,@log_file_size = 5 --初始日志文件大小,以兆字节 (MB) 为单位
,@min_distretention = 0 --从分发数据库中删除事务前的最小保持期,以小时为单位
,@max_distretention = 72 --删除事务前的最大保持期,以小时为单位
,@history_retention = 48 --历史记录的保留时间,以小时为单位
,@security_mode = 1 --同步时连接到分发服务器的安全模式。默认值为1:Windows验证,0: SQL验证
,@login = N'KK\SqlReplicator'
,@password = N'123456'
,@createmode = 1 --1:创建或使用现有数据库(instdist.sql)
go
-- 配置发布服务器以使用指定的分发数据库
-- https://msdn.microsoft.com/zh-cn/library/ms173807(v=sql.105).aspx
exec master.dbo.sp_adddistpublisher
@publisher = N'KK' --发布服务器的名称
,@distribution_db = N'distribution' --分发数据库的名称
,@security_mode = 1 --安全模式,默认1:Windows验证,0: SQL验证
,@login = N'KK\SqlReplicator'
,@password = N'123456'
,@working_directory = N'E:\TempFile\ReplData'--默认快照文件夹的UNC共享目录
,@thirdparty_flag = 0 --发布服务器是否是SQLServer,默认0:是,1:否
,@publisher_type = N'MSSQLSERVER' --发布服务器类型:MSSQLSERVER(默认)/ORACLE/ORACLE GATEWAY
go
/*****配置完成!!*****/
?
?
/*****【查看分发属性】******/
-- 检查分发数据库目录
exec master.dbo.xp_subdirs N'E:\TempFile\Distribution'
-- 发布服务器的属性(在分发服务器任何数据库执行)
-- https://technet.microsoft.com/zh-cn/library/ms190323(v=sql.105).aspx
exec master.dbo.sp_helpdistpublisher N'KK'
-- 分发数据库的属性(在分发服务器的分发数据库上执行)
-- https://msdn.microsoft.com/zh-cn/library/vstudio/aa238917.aspx
exec master.dbo.sp_helpdistributiondb N'distribution'
-- 列出有关分发服务器相关信息(在分发服务器任何数据库执行)
-- https://msdn.microsoft.com/zh-cn/library/ms177504(v=sql.105).aspx
exec master.dbo.sp_helpdistributor
?
?
/*****【删除分发】******/
--这里不必执行!
-- 删除分发发布服务器(在分发服务器任何数据库执行)
-- https://technet.microsoft.com/zh-cn/library/ms188411(v=sql.105).aspx
exec master.dbo.sp_dropdistpublisher @publisher = N'KK',@no_checks = 0,@ignore_distributor = 0 --检查对象;连接分发;
-- 删除分发数据库(在分发服务器任何数据库执行)
-- https://msdn.microsoft.com/zh-cn/library/ms188355(v=sql.105).aspx
exec master.dbo.sp_dropdistributiondb N'distribution';
-- 卸载分发服务器(除分发数据库之外的任何数据库中执行)
-- https://technet.microsoft.com/zh-cn/library/ms173516(v=sql.105).aspx
exec master.dbo.sp_dropdistributor @no_checks = 0,@ignore_distributor = 0 --检查对象;连接分发;
?
?
?
【创建可更新订阅的事务发布】
?