sql server同步复制虽设置步骤简单,可是同步不成功出错问题难排查,现转载引用下某仁兄的博文免得截图了并记录下过程当中需注意的项,作个提醒:html
两台服务器:sql
发布服务器,如下简称PS。数据库
订阅服务器,如下简称SS。windows
两台服务器都是Windows Server 2003,SQL Server是2005企业版64位。安全
测试数据库为TestRepl服务器
在PS和SS上分别建立用户ReplUser-PS和ReplUser-SS,都隶属于Administrator组。ide
在PS上建立存放快照文件的物理目录并设置为共享目录,好比:D:\ReplData,右键ReplData文件夹——点击属性——选择共享选项卡——点击权限按钮——弹出分配权限窗口——添加以前建立的专门用于数据同步复制的Windows账号 RelUser-PS——权限勾选"彻底控制"——肯定。测试
在PS上登陆数据建立一个新的数据库登陆名,类型为Windows 身份验证,名称就是以前添加的用户名,不过注意这里须要域名+用户名。能够在添加隶属用户组的时候看到这个全名。spa
点击用户映射,勾选上测试数据库,角色勾选上db_owner和public。肯定便可。.net
在PS上的SQL Server2005 Managerment Studio中右击复制——本地发布打开发布向导。接下来就是按步骤一步步来了。
快照路径就是刚设置的共享目录。
选择发布对象。
设置发布计划。注意:发布建立后计划不能修改,须要提早规划好。
设置安全代里。用户就是以前创建的用户。
点击完成就能够了。
注意:必须以登陆默认实例才能进行发布操做:
不然会报以下错误:
在PS上注册SS,点击SQL Server Management Studio——视图——已注册的服务器——右击“数据库引擎”——新建“服务器注册”,如图填写注册信息,测试保存。
一样的再SS上注册PS。
相似的登陆SS上默认实例的SQL Server2005 Managerment Studio中右击复制——本地订阅打开订阅向导一步步设置就能够了。
第一配置应该看不到PS上发布的订阅,点击<查找SQL Server 发布服务器>,以SQL Server验证方式登入PS上SQL Server的默认实例便可。
分发代理设置,选择默认的就行。
设置订阅数据库。注意:这个数据库必须在订阅的SQL Server上存在。
大注:如下第一项应填为订阅服务器的账号,且格式为机器名\账号名.
第二项链接到分发服务器:使用模拟进程账户或sql server登陆名验证均可以的.
设置分发代理安全性。以SQL Server身份验证登陆。点击完成。
注意:这里填的是分发服务器的用户名和密码。
代理计划根据实际须要制定。注意:订阅建立后计划不能修改,须要提早规划好。
初始化时间选择当即或首次同步时。
另外须要说明的是:
订阅服务和发布服务都依赖于SQL Server的代理。
一、建立订阅,设置安全代理的时候,链接分发服务器选择SQL Server登陆名,注意这里填的分发服务器,而不是订阅服务器的。
若是配置出错:右击订阅查看同步状态汇报链接不到分发服务器的错误。
二、共享的快照文件夹没有相应的权限。
三、快照的文件夹路径应该填的是共享路径而不是绝对路径,上面的配置过程当中就配置是错误的:
若是以前配错了,能够右击以前新的发布,点属性:
从新设置快照路径便可。
四、新增表或其余对象须要同步须要从新修改发布对象,在发布属性里修改便可。
5、配置SQL Server同步计划之间要查看下SQL Server服务器名跟机器是否同名,不一样名可能会致使一系列问题
select@@servername
六、若是发布服务器和订阅服务器不在同一个域内,最好保证新建的WINDOWS用户名和密码都相同。
七、若是后期有须要更改发布服务器系统账号密码时,可能订阅不成功,没找到修改验证密码的地方。
个人方法,登陆到sql server management studio-->视图菜单下-->从新注册服务器,确保验证成功能链接到发布服务器,再从新新建订阅。
有相关IIS服务的话,IIS设置中的服务器验证项密码也需同步改掉。不然IIS站点访问也有问题。
windows服务器系统密码乱改此为大忌啊,相关联服务都迁受影响。因此最讨厌windows服务器了,出错查日志都很差查。
参考自:http://www.cnblogs.com/magialmoon/p/3370950.html
http://blog.csdn.net/ljsql/article/details/7743048