解决使用SQL Server发布数据库快照遇到错误:对路径”xxxxx“访问被拒绝的方法
原文地址:https://www.lanhusoft.com/Article/403.html
最近考虑到SQL SERVER数据的重要性,于是做了一个发布、订阅。我用本地数据库订阅线上的数据库,这样实现了数据的热备份,让数据丢失做到最小化。但是启动复制监视器时却出现了一个问题。
错误消息:
Source: mscorlib
Target Site: Void WinIOError(Int32, System.String)
Message: 对路径“D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\ReplData\unc\IZ23H57WZFJZ_XX_LOG_DEPLOY_XX\20151012142252\”的访问被拒绝。
Stack: 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
在 System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
在 System.IO.Directory.CreateDirectory(String path, DirectorySecurity directorySecurity)
在 Microsoft.SqlServer.Replication.Utilities.CreateDirectoryWithExtendedErrorInformation(String directory)
在 Microsoft.SqlServer.Replication.Snapshot.SnapshotProvider.CreateSnapshotFolders()
在 Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()
在 Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()
在 Microsoft.SqlServer.Replication.AgentCore.Run() (源: mscorlib,错误号: 0)
获取帮助: http://help/0

问题原因:
使用SQL Server发布数据库快照的配置中,如果你选择了使用SQL Server代理,而SQL Server代理服务使用的登陆身份不具有对存放快照文件位置的读写权限时,就会出现该错误。
解决办法:
可以修改SQL Server代理服务的登录身份。
在服务中找到SQL Server服务。

把服务的运行账户改成本地系统账户。

问题就解决了,如下图:


浙公网安备 33010602011771号