用于自动备份的批处理文件
Batch file for auto backup
我有一台服务器,我在其中 运行 安装了一个 SQL Server Express DB 和一个 Azure blob,我每天早上上传 SQL 服务器的备份。
现在,我已经能够通过 SQL 查询 + 批处理文件的组合来自动执行备份,并且我已将其安排到我的任务计划程序中,每晚 运行 [=25] =],但我还想将备份副本从服务器移动到 Azure 存储。
我已经在任务计划程序中尝试过批处理文件:
echo off
copy "Z:\Backup\SQLBackup\" "C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup\DailyStep_bck.bak"
但它本身并不能工作,只有我 运行 手动才能工作。
每天当前副本都应该替换旧副本,我现在不需要保留旧备份。
我也试过 robocopy 但还是不行...有人能告诉我我错过了什么吗?
任务是运行以管理员身份使用“运行无论管理员是否登录”选项。
感谢您的帮助。
我将解决方案总结如下。
Windows 任务计划程序无权访问已装载的 Azure 文件共享驱动器。所以我们需要使用路径 https://[Azure_account].file.core.windows.net/storage/Backup
来访问 Azure 文件共享。另外,如果要实现auto-upload,可以使用azcopy.
例如
azcopy copy 'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup*.bak' 'https://[Azure_account].file.core.windows.net/storage/Backup/SQLBackup/[backup_file].bak?<sas token>
- 创建计划任务
详情请参考 and here
我有一台服务器,我在其中 运行 安装了一个 SQL Server Express DB 和一个 Azure blob,我每天早上上传 SQL 服务器的备份。
现在,我已经能够通过 SQL 查询 + 批处理文件的组合来自动执行备份,并且我已将其安排到我的任务计划程序中,每晚 运行 [=25] =],但我还想将备份副本从服务器移动到 Azure 存储。
我已经在任务计划程序中尝试过批处理文件:
echo off
copy "Z:\Backup\SQLBackup\" "C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup\DailyStep_bck.bak"
但它本身并不能工作,只有我 运行 手动才能工作。 每天当前副本都应该替换旧副本,我现在不需要保留旧备份。
我也试过 robocopy 但还是不行...有人能告诉我我错过了什么吗?
任务是运行以管理员身份使用“运行无论管理员是否登录”选项。
感谢您的帮助。
我将解决方案总结如下。
Windows 任务计划程序无权访问已装载的 Azure 文件共享驱动器。所以我们需要使用路径 https://[Azure_account].file.core.windows.net/storage/Backup
来访问 Azure 文件共享。另外,如果要实现auto-upload,可以使用azcopy.
例如
azcopy copy 'C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\Backup*.bak' 'https://[Azure_account].file.core.windows.net/storage/Backup/SQLBackup/[backup_file].bak?<sas token>
- 创建计划任务
详情请参考