【发布时间】:2020-11-30 06:35:40
【问题描述】:
我有一个服务器,我在其中运行一个 SQL Server Express DB 和一个 Azure blob,我每天早上都会上传 SQL Server 的备份。
现在,我已经能够通过混合使用 SQL 查询 + 批处理文件来自动执行备份,并且我已将它安排到我的任务计划程序中,以在每晚晚上 9:00 运行,但我还想移动一份副本从服务器到 Azure 存储的备份。
我已经在任务调度器中尝试了一个批处理文件:
echo off
copy "Z:\Backup\SQLBackup\" "C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup\DailyStep_bck.bak"
但它本身不起作用,只有当我手动运行它时。 当前副本每天都应该替换旧的副本,我现在不需要保留旧的备份。
我也尝试过 robocopy,但它也不起作用......有人能告诉我我错过了什么吗?
任务以管理员身份运行,带有“无论管理员是否登录都运行”选项。
感谢您的帮助。
【问题讨论】:
-
首先,我建议您打开命令提示符窗口,输入
copy /?,按[ENTER]键,然后阅读显示的内容。然后我请你重复一遍,但这次输入robocopy /?,而不是`。 -
我会改用
robocopy,正如@Compo 所提到的,运行robocopy /?并专门查看帮助的/MIR部分。 -
如果没有用户登录,肯定没有映射资源,
Z:是映射驱动器吗?尝试完整的unc path或在脚本顶部使用net use ..或pushd ..来创建临时映射资源。有关更多信息,请参阅net use和pushd的帮助。另外,如果您使用pushd,最好也使用popd -
另外,您可能会发现这有助于加快复制任务dostips.com/forum/…
-
您的服务器上是否安装了 azure blob?
标签: batch-file azure-sql-database scheduled-tasks backup