我尝试在使用 sql 2008 合并复制的服务器上运行以下命令
sp_addscriptexec MyPub, '\\my-server\MSSQL\updateTablePermissions.sql', 1
我收到以下错误信息
Msg 21330, Level 16, State 1, Procedure sp_MSreplcopyscriptfile, Line 40
无法在快照文件夹下创建子目录(如果不存在“\my-server\mssql\repldata\unc\my-server_my_db_MyPub\UserScripts”md“\my-server\mssql\repldata\unc\my-server_my_db_MyPub\UserScripts”)。请确保有足够的可用磁盘空间,并且运行快照代理的帐户有权在快照文件夹下创建子目录。
空间充足,我的快照运行没有问题。我确信我遗漏了一些简单的东西,但我却没有发现。在此服务器的父服务器上运行了类似的命令,没有问题。
答案1
这很可能是权限问题。
根据附加脚本执行,要使用 sp_addscriptexec,SQL Server 服务帐户必须对快照位置具有读写权限,并对存储任何脚本的位置具有读取权限。
要使用 sp_addscriptexec,SQL Server 服务帐户必须对快照位置具有读写权限,并对存储任何脚本的位置具有读取权限。
请验证您的 SQL Server 服务帐户对快照目录具有读写权限,然后重试。