SQL Clone
SQLServerCentral is supported by Redgate
Log in  ::  Register  ::  Not logged in


A blog about SQL Server Replication.

The process could not read file due to OS error 3

When configuring a subscription to a publication in SQL Server, on initialization it is common to encounter the error:

The process could not read file X:\Program Files\Microsoft SQL Server\<instance>\MSSQL\repldata\<snapshot>\<snapshot_file> due to OS error 3. (Source: MSSQL_REPL, Error number: MSSQL_REPL20016)
Get help: http://help/MSSQL_REPL20016
The system cannot find the path specified.
(Source: MSSQL_REPL, Error number: MSSQL_REPL3)
Get help: http://help/MSSQL_REPL3

This error can be puzzling at first glance especially when further investigation reveals that the path indeed does exist and the replication agent process accounts have sufficient privileges to access the snapshot folder.  Well, if you are like most, you probably configured the Distributor using the Configure Distribution Wizard or the New Publication Wizard which defaults the snapshot folder to a local path.

The reason this error occurs is because when using pull subscriptions and/or a remote distributor you must specify a UNC network share such as \\<computername>\snapshot rather than a local path for the snapshot folder.  To alleviate this issue, make the snapshot folder a UNC network share and update the Distributor Properties to reflect this change.

More Information

Securing the Snapshot Folder


Posted by Paul Bezanson-322376 on 18 July 2012

Thanks!  I see no one has commented on this and I'd just like you to know that this post most likely just saved me hours of trying to figure this one out!  I realize that the cryptic nature of these messages sometimes depends on where in the process the error is trapped but, really, how difficult would it be to pass some useful information up the error chain?  :)  Thanks, again.

Posted by Brandon J Williams on 18 July 2012

Paul - Agreed.  Some of the replication errors can be cryptic.  Glad I could help.

Posted by jwedster on 20 August 2012

Yes, I share in the thanks. This also helped me save significant amount of time.

Posted by G Peterson on 28 September 2012

Yup, a precise and good resolution. A time saver. Thanks!

Posted by ma.pashna on 12 November 2012

Thanks buddy

Posted by Brandon J Williams on 12 November 2012

You are welcome

Posted by karend211 34657 on 13 September 2013

You just saved me so much time, thank you for posting this!

Posted by Brandon J Williams on 13 September 2013

Yay!  You're welcome!

Posted by wooddsw on 5 December 2013

What do you use for a UNC path when the Distributor is Remote, on a 2 node cluster and shared disk?

Posted by Brandon J Williams on 5 December 2013

It can be anywhere, provided it is a UNC network share and the replication agent process accounts have the required permissions specified in Replication Agent Security Model (technet.microsoft.com/.../ms151868.aspx).

Posted by vivekhma-825366 on 28 January 2014

Thanks for your Post. Revived similar error and was unable to find the root cause . Your article has saved my day ...Appreciated .

Posted by Brandon J Williams on 29 January 2014

That is great.  Glad it helped.

Posted by Karen Turnock on 2 April 2014

Saved me a lot of frustration and time.  Thanks!

Posted by Brandon J Williams on 2 April 2014

Glad I could help!

Posted by Winston M on 10 July 2014

Just ran into this problem when setting up SQL 2012 replication. Thanks for your help!

Posted by Winston M on 10 July 2014

Just ran into this problem when setting up SQL 2012 replication. Thanks for your help!

Posted by zahed_em2000 on 9 December 2014

Thanks I changed the location of snapshot files to \\MyServerComputer\MyReplicationDierectory  and after some seconds Synchronization started and pull merge worked. Sorry for Microsoft that has no breif examples with exact names .

Posted by john.ellis 39943 on 5 August 2015

You da man!

Posted by wbspathum on 19 November 2015

Thank you sooooo much...

Posted by dmanonline on 11 April 2016

thanks for this. Quick search brought this to the top, had my issue resolved in minutes as opposed to hours

Posted by DennisPost on 31 August 2016

I got this error because I created a PULL subscription instead a PUSH. Here's how to switch between PULL and PUSH subscriptions:


By Denny Cherry.

Posted by dave.ott 20779 on 24 March 2017

Thanks, You saved me a lot of time.

Posted by amirmir on 31 March 2017

@DennisPost, your answer was the one that precisely explains the what and the why of the problem. Thank you for the answer and the link!

Leave a Comment

Please register or log in to leave a comment.