【发布时间】:2012-05-03 20:35:07
【问题描述】:
我有一个存储过程 (previous question),但现在我想在网络位置而不是服务器上的位置进行备份。
如果我使用如下命令:
sp_doStuff '\\172.16.97.15\DbBCK\', 'MyDatabase', 'F'
然后我得到以下错误:
消息 3201,第 16 级,状态 1,第 1 行
无法打开备份设备“\172.16.97.15\DbBCK\MyDatabase_Full_20120503113029.BAK”。操作 系统错误 5(访问被拒绝。)。
消息 3013,第 16 级,状态 1,第 1 行
BACKUP DATABASE 异常终止。
我还尝试制作该位置('Z:')的网络驱动器,然后按如下方式运行突击队:
sp_doStuff 'Z:\', 'MyDatabase', 'F'
然后我得到这个错误:
消息 3201,第 16 级,状态 1,第 1 行
无法打开备份设备“Z:\MyDatabase_Full_20120503113340.BAK”。操作系统错误3(系统找不到指定的路径)。
消息 3013,第 16 级,状态 1,第 1 行
BACKUP DATABASE 异常终止。
但是我可以去路径,路径确实存在。有没有人知道这是否可能?
【问题讨论】:
-
第一条错误消息似乎是最可能的解释 - 操作系统错误 5(访问被拒绝。)。运行存储过程的用户无权访问该网络路径。
-
... 第二条消息表明驱动器
Z:未映射给运行存储过程的用户。 -
@Filburt 是对的,需要重启 SQL Server 才能看到新的备份设备。
-
@dash 我使用管理员帐户运行命令,该帐户可以访问路径。
-
UNC 必须可由 MSSQL 服务用于安全凭证的用户帐户访问。
LocalSystem没有任何网络权限(服务使用的默认用户),尝试设置NetworkService或services.msc中的工作组/域用户。
标签: sql-server networking stored-procedures path