SQL SERVER 数据库表同步复制 笔记

时间:2022-07-10 09:24:16

SQL SERVER 数据库表同步复制 笔记

同步复制可运行在不同版本的SQL Server服务之间

环境模拟需要两台数据库192.168.1.1(发布),192.168.1.10(订阅)

1、在发布和订阅机中创建两个相同的账户(如: sqladmin),用户名和密码都一致,隶属于administrator

2、分别建立两个库的别名分别为MY-1-1,MY-1-10, 验证通过

3、在MY-1-1数据库服务器下找到复制--本地发布--右键新建发布 按照界面提示选择待发布的数据库名-->发布类型(可选择事务发布)-->选择要发布的对象(可以是表、存储过程、自定义函数等)-->添加筛选器(可不添加)-->选择快照代理(计划在以下时间运行快照代理也选也可不选)-->设置代理安全性(选择 在SQL Server代理服务账户下运行,连接到发布服务器 使用SQL Server登录名)-->填写发布名称-->完成发布(如果没有错误,好么恭喜发布服务器创建成功了)

4、在MY-1-10上设置订阅服务找到复制--本地订阅--右键新建订阅 按照界面提示选择发布服务器(我们选择MY-1-1)-->选择发布服务器的发布项-->设置分发代理位置(有两个选择一是推送订阅,二是请求订阅 两种订阅要求服务器存储的快照位置有所不能, 推送订阅要求快照存储在发布服务器即MY-1-1上, 请求订阅要求存储在订阅服务器MY-1-10上,注意事项将在后文说明)-->选择订阅服务器和订阅数据库(可一次添加多个订阅)-->分发代理安全性(选择 在SQL Server 代理服务账户下运行, 连接到分发服务器 通过模拟进程账户, 连接到订阅服务器 使用以下SQL Server 登录名)-->设置同步计划(选择代理计划是连续运行还是仅按需运行 )-->完成订阅(如果没有错误,好么恭喜订阅服务器创建成功了)。详细操作或参考:http://www.cnblogs.com/tyb1222/archive/2011/05/31/2064944.html  (SqlServer2008 数据库同步的两种方式 (发布、订阅))

推送和请求的区别 推送是发布服务器将更改内容发送到订阅服务器,对发布服务器的性能影响很大 请求是订阅服务器定时到发布服务器拉取更改的内容

设置快照存储位置 1、推送方式 在MY-1-1上创建 D:\SQL_Copy 目录,设置为共享目录,添加sqladmin用户的读写权限,使MY-1-10可以使用共享方式读取和修改文件 打开已经发布好的发布服务的属性,找到快照将快照位置设置为D:\SQL_Copy

2、请求方式 在MY-1-10上创建 D:\SQL_Copy 目录,设置为共享目录,添加sqladmin用户的读写权限,使MY-1-1可以使用共享方式读取和修改文件 打开MY-1-1已经发布好的发布服务的属性,找到快照将快照位置设置为 \\192.168.1.10\SQL_Copy 打开MY-1-10已经订阅好的订阅服务的属性,打开快照将快照位置设置为 D:\SQL_Copy