日期:2014-05-16  浏览次数:20460 次

SQL 2008 发布订阅还是不能同步数据
   我有两台电脑,都装有SQL 2008,然后分别在两台电脑上都新建一个数据库,一个叫device,一个叫devicebk。然后在device里面建一个表,再将这个表发布,按照网上的SQL2008 发布步骤来做的。再在另外一台电脑上进行订阅,并选择前面那台电脑里面的SQL 发布服务器,完成配置。两台电脑配置中间都没有出现错误,防火墙也关闭了(中间没有关闭防火墙的时候出现过不能连接的问题)。但是有几个问题:
   Question 1: 订阅成功后,在 复制--本地订阅 里面没有看到记录,两台电脑上都没有,为啥?
   Question 2: 在device数据库里面的表中插入数据后,另一台电脑上的devicebk的表里面并没有出现数据,为啥???

   新手小白,冰天雪地360跪求答案
------解决方案--------------------
有问题请教就是了,何须用“跪求”一词
------解决方案--------------------
参考 http://www.sql-server-performance.com/2010/transactional-replication-2008-r2/

照教程一步一步做,可以完成同步的.
------解决方案--------------------
重新配置一下吧。貌似要求两边密码都一致。。
------解决方案--------------------
引用:
同是右键,弹出来的菜单在一台电脑上和教程一样,另一台(发布服务器)上面的菜单是:

发布服务器属性(H)
分发服务器属性(B)
禁用发布和分发(D)
以下都是相同的

2边都初始化一下,选[禁用发布和分发],然后再从头开始配置复制..
------解决方案--------------------
引用:
Message: 对路径“C:\Program Files\Microsoft SQL Server\MSSQL10_50.YADADB\MSSQL\ReplData\unc\ILNYVPG0QS60VZF$YADADB_DEVICE_DEVICE\20140311101415\”的访问被拒绝。
这是什么意思?是权限问题?难道是密码设置反了?
权限问题,如果不在一个域里面的话,需要设置相同的帐号密码作为sql agent的启动帐号
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

Message: 对路径“C:\Program Files\Microsoft SQL Server\MSSQL10_50.YADADB\MSSQL\ReplData\unc\ILNYVPG0QS60VZF$YADADB_DEVICE_DEVICE\20140311101415\”的访问被拒绝。
这是什么意思?是权限问题?难道是密码设置反了?
权限问题,如果不在一个域里面的话,需要设置相同的帐号密码作为sql agent的启动帐号

我设置的都是 sa, 密码都是发布服务器的密码。在选择同步的时候,上面显示:
项目 'dev_info' 的初始快照尚不可用。
你这样,两台机开一个Windows帐号,帐号名和密码均要相同,然后用这个作为sql agent的启动帐号,当然要把这个帐号加入sqlserver,如果测试的话,给sysadmin权限。然后配置过程用sql agent作为各个引擎的帐号。快照文件夹设为everyone完全控制
------解决方案--------------------
开一个Windows帐号,两台机都要,名字、密码要一致,然后均加入对应的sqlserver,赋予sysadmin权限。然后用这个作为sqlanget的启动帐号,
------解决方案--------------------
引用:
Quote: 引用:

sa是sqlserver内部帐号,而复制中的引擎实际上可以和sql 引擎独立,是Windows上的一些exe文件,所以要把权限扩大到Windows层面

那用啥账号可以呢?


我也是用sa帐号来配置的,测试过在局域网内的电脑,和本机与虚拟机,都是可以配置成功的。

看看这个:
数据库复制:SQL Server 2008R2中通过数据库复制,把A表的数据复制到B表
http://blog.csdn.net/sqlserverdiscovery/article/details/17059073
------解决方案--------------------
你的sql agent帐号权限不够,把快照文件夹设为everyone可读写