因为出现操做系统错误 3,进程没法读取文件D:\XXXX\X.pre (源: MSSQL_REPL,错误号: MSSQL_REPL20024)

 

最近着手作SqlServer2008的订阅发布,起初使用推送订阅很顺利,后来改为请求订阅出现了如下问题,折腾好长时间终于搞定,留下此文备往后查阅,或供遇相同问题的道友参考:安全

首先阐述如下问题:服务器

1. 错误消息:性能

因为出现操做系统错误 3,进程没法读取文件“C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData\unc\NETNETNET-PC_CLOUDTRADB_SOA_LNGZ_20151130\20151130092501\View_TenderPurchase_45.pre”。 (源: MSSQL_REPL,错误号: MSSQL_REPL20024)
获取帮助: http://help/MSSQL_REPL20024
系统找不到指定的路径。
(源: MSSQL_REPL,错误号: MSSQL_REPL3)
获取帮助: http://help/MSSQL_REPL3spa

这个问题的主要缘由就是订阅服务器访问订阅目录快照"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData\unc\NETNETNET-PC_CLOUDTRADB_SOA_LNGZ_20151130\20151130092501\View_TenderPurchase_45.pre"失败形成的。操作系统

解决方式:代理

1.将存放快照的目录设置为共享,并设置读取的权限;blog

  1)发布服务器设置:
    在发布属性中,点击左侧的快照,在右边页面中的快照文件的位置改成为E:\严\MSSQL\ReplData
    把ReplData文件夹设置为共享,而且在安全项里,设置用户权限进程

  2)订阅服务器设置:
    而后在订阅服务器中,右击订阅的服务名,选择属性,设置属性参数以下
    a.快照位置修改成备用文件夹
    b.快照文件夹修改成 \\netnetnet-pc\ReplData登录

  3)在订阅服务器和发布服务器设置相同帐号密码的系统登陆用户(例如:帐号 administrator 密码 zhimakaimen),以后设置两台服务器的SQL Server 代理 (MSSQLSERVER)服务的登陆名(必须确保发布和订阅服务器的帐号密码相同)如图:权限

2.请求订阅改为推送订阅(会消耗发布服务器较多性能)

相关文章
相关标签/搜索