怎样收缩SqlServer2005的日志文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样收缩SqlServer2005的日志文件相关的知识,希望对你有一定的参考价值。

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

如何收缩sqlserver数据库

请看清除,我问的不是收缩日志,是收缩数据库文件也就是mdf文件。我现在有一个数据库11G,我删除了180多万条记录,但是数据库大小不变,仍然是11G。可是可用空间已经变为了6G,也就是说现在11G的空间里有6G是空余的,请问哪位大虾能给个解决办法。
注:使用所有任务-收缩数据库不管用。

你用数据库管理器选中数据库,先分离,然后再附加,然后再点收缩,收缩的时候先收缩日志文件,一般能收缩很多,记得要填写数字啊,比如上面提示能收缩为0,你就填个5兆,这样预留一点空间,而且很快,收缩完日志文件之后再收缩数据库 同理比最小能收缩量大几兆就可以了,但是收缩数据库比较慢 需要很多时间 参考技术A 本主题介绍如何使用 SQL Server Management Studio
中的对象资源管理器收缩数据库。收缩后的数据库不能小于数据库的最小大小。最小大小是在数据库最初创建时指定的大小,或是上一次使用文件大小更改操作(如
DBCC SHRINKFILE)设置的显式大小。例如,如果数据库最初创建时的大小为 10 MB,后来增长到 100
MB,则该数据库最小只能收缩到 10 MB,即使已经删除数据库的所有数据也是如此。

收缩数据库

在对象资源管理器中,连接到 SQL Server 数据库引擎实例,然后展开该实例。

展开“数据库”,再右键单击要收缩的数据库。

指向“任务”,指向“收缩”,然后单击“数据库”。

根据需要,可以选中“在释放未使用的空间前重新组织文件”复选框。如果选中该复选框,必须为“收缩后文件中的最大可用空间”指定值。

选中该选项的作用与执行 DBCC SHRINKDATABASE 时指定 target_percent 值相同。清除该选项的作用与使用 TRUNCATEONLY 选项执行 DBCC SHRINKDATABASE 相同。TRUNCATEONLY 将文件收缩到最后分配的区。这将减小文件的大小,但不移动任何数据。默认情况下,该选项为清除状态。

输入收缩数据库后数据库文件中剩下的最大可用空间百分比。允许的值介于 0 和 99 之间。该选项仅在选中“在释放未使用的空间前重新组织文件”时可用。

单击“确定”。

收缩数据库

数据库中的数据库文件过于庞大或者存在未使用页时,可以使用收缩数据库方法来实现对数据库的收缩,同样,事务日志文件也可以收缩。数据库文件可以作为组或
单独地进行手工收缩,也可设置为按指定的时间间隔自动收缩。收缩数据库的活动是在后台进行,并不影响数据库内的用户活动。
操作步骤如下:
(1)打开SQL Server企业管理器。双击打开“数据库”节点,在要收缩的数据库名称上,单击鼠标右键,在弹出的快捷菜单中选择“所有任务”→“收缩数据库”命令,弹出“收缩数据库”对话框,如图1所示。

收缩数据库
(2)指定数据库的收缩量,可以从以下选项中选择。
在“收缩后文件中的最大可用空间”文本框中输入收缩后数据库中剩余的可用空间量。以“数据库大小,可用空间”值作为依据。如最大可用空间是“25%”,则在该选项中设置小于该数值的百分比,如“12%”。
选择“在收缩前将页移到文件起始位置”复选框,使释放的文件空间保留在数据库文件中,并使包含数据的页移到数据库文件的起始位置。
(3)在“调度”选项框中,选择是否自动定期执行数据库压缩操作。选中“根据本调度来收缩数据库”复选框,单击“更改”按钮,创建或更改自动收缩数据库的频率和时间。
(4)最后单击“确定”按钮完成操作。
参考技术B 利用向导,
选择你要收缩的数据库,右键->所有任务->收缩数据库-〉在里面设置收缩比
执行一下就行,

如果,操作日志文件的话,我觉的没有必要,因为日志不会太大了,
如果太大的话,直接删除就行,
没必要收缩了,

以上是关于怎样收缩SqlServer2005的日志文件的主要内容,如果未能解决你的问题,请参考以下文章

sql2005查询为何提示满,收缩数据库和文件不管用

SQL server怎样修改主日志文件的增长上线

sql server怎么收缩日志

sql2000收缩数据库会对数据影响吗

sql server 数据库怎样压缩数据库日志文件

SQL数据库中日志收缩、截断等等是啥