SQL server 日志文件收缩 与日志文件备份
在完整恢复模式下,SQL server需要定期备份日志,否则,日志文件会一直扩大,直到占满硬盘大小,在进行一次完整备份之后,可以定期备份日志文件
脚本如下:
DECLARE @strbackup NVARCHAR(100) --改为日期加时间的 SET @strbackup = ‘F:\bak\Test_bak_log_‘ + REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), ‘-‘, ‘‘), ‘ ‘, ‘‘), ‘:‘, ‘‘) + ‘.bak‘ BACKUP LOG MainTest TO DISK = @strbackup WITH INIT; GO
查看日志使用情况
命令
dbcc sqlperf(logspace)
查看单个库的VLF文件详情,
use DatabaseXX DBCC LOGINFO;
如果日志文件过大,需要收缩,请执行如下脚本
USE [master] GO ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE GO USE 数据库名称 GO declare @dbName nvarchar(100) set @dbName = (SLEECT name FROM sys.database_files WHERE type=1) GO DBCC SHRINKFILE(@dbName,1,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE 数据库名称 SET RECOVERY FULL
需要注意的是,将数据库由简单模式切换到完整模式后,需要做一次完整或者差异备份,日志才会按照完整模式的形式增长。
参考地址:
相关推荐
风语者 2020-09-18
sunnyhappy0 2020-05-17
BiPerler 2020-05-09
ErixHao 2020-05-08
zyjj 2020-04-25
Carlos 2020-04-21
一路到黑 2020-03-26
lihy0 2020-03-26
Silvercell 2020-03-24
QAnyang 2020-03-14
zbcaicai 2020-03-08
ALLWITHLOVE 2020-02-22
citic 2020-02-22
xcznb 2020-02-11
melonjj 2020-01-02
Lemonlemontree 2013-07-29
xushxbigbear微信 2019-12-23