一、功能说明本套方案为OS_Core 数据库生产级自动备份方案特点每日自动完整备份数据库自动带时间戳不覆盖旧备份备份完成自动校验文件完整性自动清理7天前旧备份防止磁盘爆满全程命令行部署无需图形界面点来点去系统最高权限运行杜绝权限报错备份目录统一D:\SQLbak二、前期准备必做手动在 D 盘新建文件夹D:\SQLbak三、文件1数据库备份脚本Backup_OS_Core.sql保存路径D:\SQLbak\Backup_OS_Core.sql编码ANSI-- 【仅在此处修改数据库名称】DECLAREDB_NAMESYSNAMENOS_Core-- DECLAREbakPathNVARCHAR(500)SETbakPathND:\SQLbak\ DB_NAME _Full_ REPLACE(REPLACE(CONVERT(VARCHAR,GETDATE(),120),:,_),,_) .bak PRINT BackupFilePath: bakPath; BACKUP DATABASE DB_NAME TO DISK bakPath WITH COMPRESSION, STATS10; PRINT Startverifybackupfile; RESTORE VERIFYONLY FROM DISK bakPath; PRINT DB_NAME backupfinishedandverified successfully GO四、文件2一键主控批处理AutoBackup_OS_Core.bat保存路径D:\SQLbak\AutoBackup_OS_Core.bat作用执行备份 自动删7天前旧备份echo off chcp 65001 nul echo echo OS_Core 数据库自动备份任务 echo echo. :: 执行SQL备份 sqlcmd ^ -S WIN-AIOAD887H1C ^ -E ^ -d master ^ -i D:\SQLbak\Backup_OS_Core.sql echo. echo ---------------------------------------------- echo 自动清理7天前备份文件 echo ---------------------------------------------- forfiles /p D:\SQLbak /m *.bak /d -7 /c cmd /c echo 已删除旧文件:path del /f path echo. echo ✅ 今日备份清理任务全部完成 echo 五、手动测试步骤必须先测试再上定时任务双击运行D:\SQLbak\AutoBackup_OS_Core.bat观察输出无报错、生成带时间戳的 bak 文件出现「校验通过」说明备份文件 100% 可用六、命令行部署定时任务无图形界面、纯命令以管理员身份打开 PowerShell执行下面整段代码# 定义任务行为、时间、权限$actionNew-ScheduledTaskAction-ExecuteD:\SQLbak\AutoBackup_OS_Core.bat$triggerNew-ScheduledTaskTrigger-Daily-At 02:00$principalNew-ScheduledTaskPrincipal-UserIDNT AUTHORITY\SYSTEM-LogonType ServiceAccount-RunLevel Highest$settingsNew-ScheduledTaskSettingsSet-AllowStartIfOnBatteries-DontStopIfGoingOnBatteries-RestartCount 3-RestartInterval(New-TimeSpan-Minutes 5)# 注册定时任务Register-ScheduledTask-TaskNameOS_Core数据库每日自动备份-Action$action-Trigger$trigger-Principal$principal-Settings$settings-Description每日凌晨2点自动备份OS_Core数据库自动清理7天前备份七、定时任务常用管理命令收藏备用1. 手动立即执行一次备份任务Start-ScheduledTask-TaskNameOS_Core数据库每日自动备份2. 查看任务状态Get-ScheduledTask-TaskNameOS_Core数据库每日自动备份3. 删除定时任务重建时用Unregister-ScheduledTask-TaskNameOS_Core数据库每日自动备份-Confirm:$false八、数据库恢复备用命令应急必备1. 查看备份内文件信息RESTOREFILELISTONLYFROMDISKND:\SQLbak\你的备份文件.bak2. 覆盖恢复 OS_Core 数据库RESTOREDATABASE[OS_Core]FROMDISKND:\SQLbak\你的备份文件.bakWITHREPLACE,MOVE NOS_CoreTOND:\SQLData\OS_Core.mdf,MOVE NOS_Core_logTOND:\SQLLog\OS_Core.ldf九、生产环境硬性规范笔记重点禁止复制 mdf/ldf 当做正式备份必须使用 bak 压缩备份 备份校验本地只保留7天备份节省磁盘重要数据必须定期异地拷贝备份文件定时任务使用 SYSTEM 最高权限杜绝权限失败十、整套流程总结极简记忆建目录 → 放置sql脚本 → 放置bat脚本 → 手动测试运行 → PowerShell命令创建定时任务 → 全自动备份部署完成