数据库日志文件过大如何收缩?

如题所述

网页链接我是用这个方法收缩的,可以将日志收缩到1MB

守得云开见月明,花了一个上午结合前辈的博客,终于弄好了sqlserver2008的数据库日志收缩到1MB,分享给大家

# 方法步骤

1、执行SQL语句改成“简单模式”

2、收缩数据库

3、执行SQL语句改回“完全模式”

## 第一步:执行SQL语句改成“简单模式”


USE [master]
GO
ALTER DATABASE  SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名) SET RECOVERY SIMPLE --改成简单模式
GO

## 第二步:进行数据库操作
相关界面截图和操作
假定:
数据库名:SlowXWebDB
日志文件名:SlowXWebDB_Log

数据库日志文件过大需要清理
**1.选择数据库右键点击任务-收缩-文件   注意:文件类型选为日志**

2.如下图选择需要收缩的大小,最小为0MB,本人实测最小只能到1MB,不过已经很满足了哈哈**

3.点击确认,几十G的日志文件,嗖的一下就瘦身完成了****看下数据库日志文件清理后的效**果

## 第三步:执行SQL语句改成“完全模式”

USE [master]
GO
ALTER DATABASE SlowXWebDB (改成你需要进行收缩的数据库名)SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE datebaseName(改成你需要进行收缩的数据库名)SET RECOVERY FULL --还原为完全模式
GO
==最后不要忘记实测下数据库是否能够正常使用==

网页链接



温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-19
日志文件太大,使其减小的方法。

在打开SQL Server Management Studio并正常联接SQL服务器后,运行下面的三行:

( 注意将dbName代换为你的数据库名。)

backup log dbName with NO_LOG

backup log dbName with TRUNCATE_ONLY

DBCC SHRINKDATABASE(dbName)

注意,在SQL 2008之后的版本以上方法无效,需将数据库设为简单模式后再进行收缩。

此外,在SQL Server Management Studio中,以视窗方法操作也可以,操作步骤:

第一步:截断数据库日志,运行代码:

BACKUP LOG 要收缩的数据库名 WITH NO_LOG

第二步:收缩数据库日志文件:

1. 选择要收缩的数据库,点右键选择任务-收缩-文件

2. 在弹出的页面中,选择文件类型为日志

3.点确定。本回答被网友采纳
相似回答