使用作业定时压缩数据库

摘要:
一个项目的数据库已经使用了几个月。mdf文件和。ldf文件已达到100G+。根据项目情况,考虑使用作业模式定期压缩数据文件大小。启动服务的步骤如下:DECLARE@ErrorINTSET@错误=(SELECTTOP1size/128.0-CAST(FILEPROPERTY([NAME],

有一个项目上的数据库使用了几个月.mdf文件与.ldf文件加起来竟然达到了100G+,这样下去硬盘会被撑爆的。

这样的原因是因为异常情况造成某个数据表中有大量的冗余数据,将异常数据表的冗余数据清理之后,mdf文件并没有变小,因为对数据库进行了删除操作,ldf文件反而变增大很多!根据项目情况考虑使用作业方式定时压缩数据文件大小,压缩之后只有十几兆的大小。

Setp1:开启SQL Server Agent服务

使用作业需要SQL Agent服务的支持,并且需要设置为自动启动,否则你的作业不会被执行。

以下步骤开启服务:开始——>运行——>输入"services.msc"——>进入服务,开启SQL Server Agent服务,并设置为自动。

如图:

  使用作业定时压缩数据库第1张

Setp2:创建作业

创建作业的过程这里就不说了,作业执行的命令为:

DECLARE @Error INT
SET @Error=(SELECT TOP 1 size/128.0 - CAST(FILEPROPERTY([NAME], 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB FROM sys.database_files ORDER BY [NAME] DESC)
--PRINT @Error

IF(@Error>1)
    BEGIN
        ALTER DATABASE HCJK_Customer  --数据库名字
        SET RECOVERY SIMPLE;  --设置简单恢复模式
        DBCC SHRINKFILE (HCJK_Customer, 1);  --(M)不能小于1M,参数“HCJK_Customer”应为 SELECT [name] FROM sys.database_files
        DBCC SHRINKFILE (HCJK_Customer_log, 1);  --(M)不能小于1M,参数“HCJK_Customer_log”应为 SELECT [name] FROM sys.database_files
        ALTER DATABASE HCJK_Customer
        SET RECOVERY FULL;  --恢复为原来完整模式
    END
--ELSE
--BEGIN
--    PRINT  @Error
--END    

压缩操作前的.mdf文件与.ldf文件大小:

使用作业定时压缩数据库第2张

压缩操作后的.mdf文件与.ldf文件大小:

使用作业定时压缩数据库第3张

免责声明:文章转载自《使用作业定时压缩数据库》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linux 进程创建二(execve和wait).Net Core如何优雅的实现中间件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

KVM基本功能管理

 一、KVM基础功能管理 1、查看命令帮助 virsh -h 2、查看 KVM 的配置文件存放目录(CENTOS7.0.xml是虚拟系统实例的配置文件) ls /etc/libvirt/qemu                 //属性配置文件路径 ls /virtual/KVM/                     //虚拟机磁盘镜像文件路径 3、查...

Linux搭建Java环境(JDK+Tomcat+MySQL)

目录 一、项目环境: 二、安装JDK1.8 三、安装Tomcat8.5 四、安装MySQL数据库 五、配置JAVA项目 一、项目环境: 开发环境 生产环境 测试环境 硬件环境: web服务器:cpu:intel i7,8G内存,金士顿1T固态硬盘,万兆网卡 数据库服务器:cpu:intel i7,8G内存,金士顿1T固态硬盘,万兆网卡...

Veritas NetBackup备份系统管理维护实战(NBU培训+各种数据库备份恢复)

一、风哥Veritas NetBackup企业级备份系统建设与管理维护介绍 NBU介绍: Netbackup(简称NBU)是当今世界非常流行的一款数据备份软件,是全球排名NO.1的企业数据保护平台,87%的世界500强企业的信赖之选,可谓是市场上最厉害、应用最广泛的数据保护解决方案,是Veritas公司主要产品,截止2021年最新版本为9.0;NetBac...

sqlserver跨服务器数据库sql语句

1、启用Ad Hoc Distributed Queries:exec sp_configure 'show advanced options',1reconfigureexec sp_configure 'Ad Hoc Distributed Queries',1reconfigure2、sql语句insert into datatable(id)sel...

Gradle 配置国内镜像

选择一:项目级配置(推荐) 找到项目中的如下文件:build.gradle 在项目的根目录下找到如下文件:build.gradle,打开编辑,在下图红色箭头处添加阿里云的镜像。 添加如下代码: maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'} 在 apply 上面,添加...

MariaDB日志文件、备份与恢复

1. 数据库的6种日志        数据库有6种日志,分别是:查询日志、慢查询日志、错误日志、二进制日志、中继日志以及事务日志。 1> 查询日志   查询日志记录每一条sql语句,建议不开启,因为如果访问量较大,会占用相当大的资源,影响性能。 查询日志的开启:        编辑配置文件:/etc/my.cnf.d/server.cnf vim /...