首先来看一下错误消息:
错误消息:
由于出现操作系统错误 3,进程无法读取文件“D:/DBSYNC/unc/FLOORWEB_FLOORLINK2_TESTFLOOR/20081128174839/ufoCorpAccount_2.pre”。 (源: MSSQL_REPL,错误号: MSSQL_REPL20016)
获取帮助: http://help/MSSQL_REPL20016
系统找不到指定的路径。
(源: MSSQL_REPL,错误号: MSSQL_REPL3)
****************************************解决办法*************************************
就是订阅服务器读取不到快照文件夹位置.这也导致了“订阅服务器无法重新初始化非immediate_sync发布的订阅”。
可能的原因较多,1、没设置共享或者没共享给跟订阅服务器共同的账户权限;2、IPC连接被关闭,订阅服务器无法连接到发布服务器共享资源。
解决办法:
可以将快照文件夹D:/XX复制到订阅服务器F:/XX
某个订阅属性-》快照位置-》“备用文件夹”,快照文件夹-》F:/XX。应该就可以了。
1.首先,在创建发布时需要指定一个发布快照位置,并且会提示你订阅服务器可能无法访问该目录(不知你有没有注意),每次生成快照都会将快照文件放在该目录下。
2.其次,在创建订阅时,需要你指定快照位置,一般为发布缺省位置(不知你这次注意没有)
3.那么,要解决你的问题只有两种方式
1)第一种:在创建发布和订阅时指定一个两个服务器都能访问的目录。 (上面案例就是此步遇到障碍)
2)第二种:每次自己将发布快照目录中的文件通过网络(或移动设备)拷贝到订阅指定的快照目录中。(上面解决办法就用该种)
以上参考:http://hi.baidu.com/rushm/blog/item/856cc1ff3fda883c5d6008c3.html
****************************************My 解决办法*************************************
以上解决办法是看的别人的,后来自己找出来了一个更好的解决办法。在发布服务器上面(假设发布服务器和分发服务器在同一台机器上)设置分发服务器的属性,在设置快照文件的位置的时候,可以将路径写成相对路径,如“//10.8.3.62/sqlSync/”那么这样,订阅服务器上面的快照文件夹我们可以使用默认的了,不用做什么更改。(前题是在订阅服务器和发布服务器在一个局域网内,在Windows资源管理器上通过“//10.8.3.62/sqlSync/”可以访问到发布服务器。因为发布服务器和分发服务器都在同一台机器上,所以也就可以访问快照文件夹了。)根据我的实验,如果发布服务器、分发服务器和订阅服务器不在同一局域网内,把快照文件位置写成“ftp://10.8.3.62/sqlSync/”应该也是可以的,不过没有实验。