MS SQL 2000 数据库在长时间运行后,数据库文件和日志文件会不断增大,大量占用服务器硬盘空间。通过定期运行本软件收缩数据库和截断日志文件,对 MS SQL 2000 数据库进行优化,以保证 MS SQL 2000 数据库高效运转。 软件主要功能: ① 备份数据库到指定目录 ② 收缩数据库,减少数据库体积 ③ 截断日志文件,防止日志文件变得过大
最近公司的数据库随着业务量的增多,日志文件巨大(超过300G),造成磁盘空间不够用,进而后来的访问数据库请求无法访问。
网上类似的方法也很多,但不可行,如下是我实践过,可行的,将日志文件收缩至任意指定大小的方法:
第一步: 在SQL SERVER Management Studio 中右击数据库选择“属性”—》“选项”,将恢复模式由默认的“完整”改为“简单”。
第二步:再次右键选择数据库的“任务”–》“收缩”—》“文件”菜单,进入收缩文件页面,将(要收缩的)文件类型选定为“日志”, 将页面下面
最近服务器执行收缩日志文件大小的job老是报错
我所用的一个批量收缩日志脚本
USE [master]
GO
/****** Object: StoredProcedure [dbo].[ShrinkUser_DATABASESLogFile] scr ipt Date: 01/05/2016 09:52:39 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[ShrinkUser_DATA
事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。
收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。
下面介绍的是在简单模式下,进行收缩操作。
一、命令行搞定
USE MASTER
GO
ALTER DATABASE {DBName} SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE {DBName} SET RECOVERY SIMPLE --简单模式
GO
USE {DBNam
SQL 2008日志文件占了23G硬盘空间,而事务日志已经截断(Truncate),实际日志内容很小,1G都不到,想要释放日志文件霸占的多余空间。
但是,无论怎么收缩(Shrink)日志文件,空间就是不能释放,总是出现错误:Cannot shrink log file 2 (CNBlogsText_log) because of minimum log space required.
之前解决过类似的问题,也写过一篇博客-SQL Server 2008事务日志清理,当时采用的最终解决方法是:
将