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

数据库日志文件过大如何收缩?,第1张

网页链接我是用这个方法收缩的,可以将日志收缩到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

==最后不要忘记实测下数据库是否能够正常使用==

网页链接

具体方法有3种。

方法一:

第一步:

backup

log

database_name

with

no_log

或者

backup

log

database_name

with

truncate_only

--

no_log和truncate_only是在这里是同义的,随便执行哪一句都可以。

第二步:

1.收缩特定数据库的所有数据和日志文件,执行:

dbcc

shrinkdatabase

(database_name,[,target_percent])

--

database_name是要收缩的数据库名称;target_percent是数据库收缩后的数据库文件中所要的剩余可用空间百分比。

2.收缩一次一个特定数据库中的数据或日志文件,执行

dbcc

shrinkfile(file_id,[,target_size])

--

file_id是要收缩的文件的标识

(ID)

号,若要获得文件

ID,请使用

FILE_ID

函数或在当前数据库中搜索

sysfiles;target_size是用兆字节表示的所要的文件大小(用整数表示)。如果没有指定,dbcc

shrinkfile

将文件大小减少到默认文件大小。两个dbcc都可以带上参数notruncate或truncateonly,具体意思查看联机帮助.

方法二:

第一步:

先备份整个数据库以备不测

第二步:

备份结束后,在Query

Analyzer中执行如下的语句:

exec

sp_detach_db

yourDBName,true

--卸除这个DB在MSSQL中的注册信息

第三步:

到日志的物理文件所在的目录中去删除该日志文件或者将该日志文件移出该目录

第四步:

在Query

Analyzer中执行如下的语句:

exec

sp_attach_single_file_db

yourDBName,'

d:\mssql\data\yourDBName_data.mdf

'

--以单文件的方式注册该DB,如果成功则MSSQL将自动为这个DB生成一个500K的日志文件。

方法三:

1.

进入企业管理器,选中数据库,比如demo

2.

所有任务->分离数据库

3.

到数据库文件的存放目录,将MuOnline_log.LDF文件删除,以防万一,你可以拷出去

4.

企业管理器->附加数据库,选muonline,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

5.

记得数据库重新附加后用户要重新设置一下。

如果以后,不想要它变大:

SQL2000下使用:

在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。

或用SQL语句:

alter

database

数据库名

set

recovery

simple

1、首先选中数据库右键--属性 点击

2、选择 展开d窗中的选项--右侧的下拉列表 恢复模式从完整改为简单--点击确定。

3、确定后再次选择右键数据库,选择任务。

4、选择任务下二级菜单收缩--数据库,点击确定。

5、展开的界面框点击确定,开始收缩数据库。

6、数据库收缩完成后 再次右键菜单,属性--选项--恢复模式从简单改回完整即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10872138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存