当前位置: 数据库>sqlserver
sql server日志收缩脚本及解决日志增长过快的问题
来源: 互联网 发布时间:2014-08-29
本文导语: 收缩日志的sql。 ---收缩日志 USE [master] GO ALTER DATABASE mydatabase SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE mydatabase SET RECOVERY SIMPLE --修改为简单模式 GO USE mydatabase GO DBCC SHRINKFILE (N'mydatabase_Log' , 11, TRUNCATEONLY) GO U...
收缩日志的sql。
---收缩日志 USE [master] GO ALTER DATABASE mydatabase SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE mydatabase SET RECOVERY SIMPLE --修改为简单模式 GO USE mydatabase GO DBCC SHRINKFILE (N'mydatabase_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE mydatabase SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE mydatabase SET RECOVERY FULL --还原为完全(完整)模式 GO
与其等到日志增长到很大时收缩,何不把工作做到平时呢?
下面我们看看如何解决SQL Server日志增长太快的问题。
有时会为这样的问题而烦恼,数据库的大小没有增长多少,日志文件增长却很快,甚至出现大部份硬盘空间都被日志文件占去了,哇哇哇。
对于此问题,大家可以参考如下存储过程中的解决方法。
(数据库名为test_news),日志归档到'e:archivelog'下以作备份。)
CREATE PROCEDURE Log_backup AS declare @pathfile as varchar(200) set @pathfile='F:logs'+convert(char(13),GETDATE(),126)+'.bak' BACKUP LOG [test_news] TO DISK = @pathfile WITH NOINIT , NOUNLOAD , NAME = N'test_news log backup', NOSKIP , STATS = 10, NOFORMAT dbcc shrinkfile ([test_news_log],50) GO --by www.