我正在尝试使用从UNC路径指向的脚本来恢复数据库,但由于某种原因,它使得#34;无法访问备份设备"这通常与权限错误有关。但是,用C替换UNC路径,脚本可以正常工作。 我检查了permmissions和存储备份的文件夹,网络服务有完整的访问权限。另外,如果我查看"登录为"服务中的SQL选项选择了“网络服务”。
所以我不确定应该在哪里授予权限,因此也允许允许UNC路径进行备份。
愿意帮忙。 谢谢
CREATE PROCEDURE [dbo.].[restore]
(
@path nvarchar(300)
)
AS
ALTER DATABASE [Adworks] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
RESTORE DATABASE [Adworks] FROM DISK = @path WITH REPLACE
ALTER DATABASE Adworks SET MULTI_USER;
答案 0 :(得分:0)
请尝试按照此博客Restore Database from a UNC path – Why SSMS doesn’t show network drives/paths in the restore wizard
中的步骤操作在远程计算机中创建了一个目录
与“Everyone”共享 - 实际上我们只需要确保运行SQL的服务帐户有权访问共享文件夹。
通过发布带有覆盖的sp_configure 'XP_CMDSHELL' , 1
重新配置启用XP_CMDSHELL
通过发出xp_Cmdshell ‘net use p: \\csm1\bkp_test’
现在使用参数1
xp_fixeddrives
还原向导现在显示网络驱动器
然后,如果这是针对常规任务而不是一次性的话,那么他继续将其设为自动化过程。