一、执行计划概述
执行时间: 空闲时间,建议周末,节假日或者凌晨
环境信息:
- SQL Server 2019
- 数据库约 480GB
- 使用你提供的增强版优化脚本
执行目的:
在业务低峰期对数据库进行全面优化,包括:
- 重建索引
- 重建表压缩
- 更新统计信息
- 收缩日志文件
- 再次重建索引
(全部操作脚本里已包含)
⚠ 注意:执行期间系统完全不可用,请提前通知相关人员。
二、执行前准备
1)完整备份数据库(必须)
在 SSMS 中执行:
BACKUP DATABASE [你的数据库名] TO DISK=’D:\Backup\Cloud_PreOptimize.bak’
WITH INIT, COMPRESSION;
确保备份成功,磁盘空间足够。
大数据库备份文件通常会很大,需提前检查磁盘空间。
2)通知运维与业务团队
提前通知所有可能受影响人员,避免执行期间产生业务操作。
三、停止业务系统与计划任务
1)停止云星空 IIS 网站
在 Windows 命令行执行:
iisreset /stop
这将停止所有 IIS 托管的服务,包括云星空 Web 访问。
2)停止 SQL Server Agent(暂停计划任务)
在 Windows 命令行执行:
net stop SQLSERVERAGENT
这样可以避免优化期间计划任务自动触发,导致资源争用或锁表。
在执行期间 SQL Server Agent 服务暂停,不影响数据库本身,只是计划任务暂停。
四、执行优化脚本
- 打开 SQL Server Management Studio (SSMS)
- 选择你的目标数据库
- 粘贴并执行 增强版优化脚本
- 脚本会打印每步执行进度以及失败表清单
⚠ 执行期间不要中断 SSMS 和命令行,会影响整个过程。
脚本将执行顺序:
- 第1步:重建索引
- 第2步:重建表
- 第3步:更新统计信息
- 第4步:收缩日志文件
- 第5步:再次重建索引 + 再次收缩日志
(已增强打印进度和失败表输出)
脚本请参考另一篇笔记
五、优化完成后
1)重启 SQL Server Agent
在命令行执行:
net start SQLSERVERAGENT
计划任务将恢复。
2)启动 IIS
iisreset /start
云星空 Web 系统恢复对外服务。
3)检查系统状态
- 登录系统确认正常
- 测试单据新增、查询、审核操作
- 观察系统日志与性能情况
六、执行总耗时与记录
脚本执行结束后会自动打印总耗时,请记录下来用于以后调整计划任务时间。
建议参考:
全程总耗时:X分钟
⚠ 注意总结
✔ 必须在业务空闲期执行
✔ 执行前必须完整备份
✔ 优化期间系统不可用