批量收缩数据库
说明:SQL数据库中log文件过大,打算收缩一下,具体收缩到10M左右。
- 先备份再做操作
备份脚本
BACKUP DATABASE [%1] TO DISK = N'E:\gengxinbeifen\%1' WITH NOFORMAT, NOINIT, NAME = N'%1-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
- 把数据库先变成简单模式,(SQL有三种模式Simple 简单恢复模式/Full 完整恢复模式/Bulk-logged 大容量日志恢复)
点击数据库->属性->选项->恢复模式,选择简单。
(这一步可以使用脚本,其中注意,简单模式:SIMPLE 完整模式:FULL)
注:可先使用
SELECT Name FROM Master..SysDatabases ORDER BY Name
:获取所有数据库的名字
- 在使用脚本把数据库的模式更改
批量修改SQL模式脚本:(可以使用脚本批量替换再生成修改文件)
USE [master]
GO
ALTER DATABASE [%1] SET RECOVERY FULL WITH NO_WAIT
GO
- 再使用维护计划创建一个一次性计划,批量压缩数据库。
这一步注意,开启代理即可,(关闭代理打开SQL 配置管理器,选择SQL server代理点击关闭即可)
(这步也可使用脚本,但是鉴于数据库过多,而且LOG和数据库名称不统一,所以选择维护计划,)
- 最后在使用脚本把开启简单模式的数据库还原成完整模式即可