怎样收缩SqlServer2005的日志文件

怎样收缩SqlServer2005的日志文件,第1张

1.先分离数据库,然后删除日志文件,再附件数据库。2.收缩文件,选择日志文件,设置将文件收缩到0M,试了一下,只能从65G收缩到55G,也就是只释放了未使用的空间。方法 二、1.选中数据库,右键属性/选项,把恢复模式从“完整”改为“简单”。2.选中数据库,右键任务/收缩文件,选择日志文件,设置将文件收缩为0M,确定。3.再将恢复模式从“简单”-“完整”即可。--------------------------------------------------方案1: 所以可以执行以下sql语句:DUMP TRANSACTION 你的数据库名 WITH NO_LOGBACKUP LOG 你的数据库名 WITH NO_LOGDBCC SHRINKDATABASE(你的数据库名)EXEC sp_dboption '你的数据库名', 'autoshrink', 'TRUE'方案2:在数据库的属性里-选择选项-恢复模式改为“简单”-勾选“自动收缩”。这样就可以自动进行数据库的收缩,推荐采用这种自动方式进行--------------------------------------------------SQLSERVER收缩事务日志一、由于系统中录入及删除数据频繁,故事务日志很大。SQLSERVER中讲:BACKUP LOG 数据库名 WITH NO_LOG|TRUNCATE_ONLY可以截断事务日志。但我在数据库中进行上述 *** 作后,事务日志还是没有改变。二、只有进行“数据库收缩” *** 作。在此复选框中打勾选中上图所示选项,即可点“确定“,执行收缩事务日志的 *** 作,硬盘经过一段时间的工作后,SQLSERVER终于提示收缩成功。事务日志文件被恢复到原始尺寸。综上所述,第一步只是将非活动的事务日志截断,并没有收缩数据库,只有进行第二项 *** 作后,数据库才进行事务日志的清理工作,将截断的非活动事务删除,并将事务日志文件收缩到适当尺寸。在使用 SQL Server 时,数据库里的日志文件会越来越大,需要把它删除。 我先把这个数据库分离,在数据库上点右键 - 所有任务 - 分离数据库,分离之后,就可以把 Log 文件删除,同时也可以把数据进行备份。之后,就可以在所有任务里的附加数据库再把那个数据库添进来,SQL Server 会提示 LOG 文件不存在,问你是不是要新建一个,选是就行了,这样,LOG 文件就清空了。 这个方法只需几分钟的时间,但在这几分钟里,就不能访问这个数据库了,我觉得只适用于小型的应用,对于大型的系统就要找其它方法了

Sqlserver2005下,日志文件太大,使其减小的方法。

在打开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. 在d出的页面中,选择文件类型为日志

3.点确定。

下面有两个SQL语句可以达到在SQL

Server

2005/2008压缩指定数据库文件和日志的大小的效果:

1、DBCC

SHRINKDATABASE

(Transact-SQL)

收缩指定数据库中的数据文件和日志文件的大小。

语法

DBCC

SHRINKDATABASE

(

'database_name'

|

database_id

|

0

[

,target_percent

]

[

,

{

NOTRUNCATE

|

TRUNCATEONLY

}

]

)

[

WITH

NO_INFOMSGS

]

参数

'database_name'

|

database_id

|

0

要收缩的数据库的名称或

ID。如果指定

0,则使用当前数据库。

target_percent

数据库收缩后的数据库文件中所需的剩余可用空间百分比。

NOTRUNCATE

通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent

是可选参数。

文件末尾的可用空间不会返回给 *** 作系统,文件的物理大小也不会更改。因此,指定

NOTRUNCATE

时,数据库看起来未收缩。

NOTRUNCATE

只适用于数据文件。日志文件不受影响。

TRUNCATEONLY

将文件末尾的所有可用空间释放给 *** 作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与

TRUNCATEONLY

一起指定,将忽略

target_percent。

TRUNCATEONLY

只适用于数据文件。日志文件不受影响。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存