当我在 TSQL 下面提到的网络共享驱动器中进行备份时。
Use DatabaseName
Go
Backup Database DatabaseName
To Disk=N'H:\DatabaseBackup\DatabaseName.bak';
Go
我在 SSMS 中收到以下错误。
Msg 3201, Level 16, State 1, Line 1
无法打开备份设备'H:\DatabaseBackup\DatabaseName.bak'
。操作系统错误 3(系统找不到指定的路径。)。
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE 异常终止。
正如我通过这个 TSQL 检查到 'xp_cmdshell' 一样。run_value & config_value 如下:
name minimum maximum config_value run_value
xp_cmdshell 0 1 1 1
注意:这里H是我的网络共享。
任何建议将不胜感激。
SQL Server 只能看到在 SQL Server 服务帐户的 Windows 配置文件中映射的网络驱动器。因此,您必须以该帐户(不是您自己的帐户)登录并映射驱动器,以便 SQL Server 能够将其用于备份。备份使用 SQL Server 服务帐户的凭据运行,而不是您的。正如上面评论中所建议的,请尝试使用完整的 UNC 补丁(例如,不需要映射驱动器的“\fileserver\fileshare\backups\backupfile.bak”。
请注意,SQL Server 服务帐户将需要对目标的读/写权限。能够访问外部文件系统是使用域帐户作为 SQL Server 服务帐户而不是本地系统等的一个很好的理由。
我浏览了 MSDN BOL 博客如何将 SQL Server 数据库备份到映射驱动器并运行以下查询。
之后,我可以在 Map Drive 中进行备份。
在哪里
在我的参考中,我也关注了这里和这里。