| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1985 人关注过本帖
标题:SQL SERVER2000的日志文件可不可以压缩??
只看楼主 加入收藏
lingchen
Rank: 1
等 级:禁止访问
帖 子:50
专家分:0
注 册:2006-5-7
结帖率:100%
收藏
 问题点数:0 回复次数:10 
SQL SERVER2000的日志文件可不可以压缩??
如题,今天发现我的一个数据库的日志文件差不多一个G,可是我的数据库文件大小才几百M,请问可不可以将日专文件压缩呢?因为觉得这样很占空间.
搜索更多相关主题的帖子: SQL 日志 文件 压缩 
2007-08-23 14:59
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
可以压缩。。。。但是要删除所有关连。。否则无法压缩

2007-08-23 15:09
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
1152kb压缩成85kb

2007-08-23 15:09
gugu0792
Rank: 1
等 级:新手上路
威 望:1
帖 子:51
专家分:0
注 册:2007-8-20
收藏
得分:0 
YES YES

2007-08-23 15:15
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
LS就你会灌水

2007-08-23 15:18
lingchen
Rank: 1
等 级:禁止访问
帖 子:50
专家分:0
注 册:2006-5-7
收藏
得分:0 

怎样收缩呢?

2007-08-24 08:33
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 
汗。。。。。。
什么收缩啊。。。。直接压缩就是了啊/。。。。
你不会没装压缩软件吧,,,,

2007-08-24 09:38
xinzheng
Rank: 1
等 级:新手上路
帖 子:193
专家分:0
注 册:2007-7-22
收藏
得分:0 
我都是先完全备份数据库,然后直接把日期删除,好像没什么影响的,真要到靠日志回复data文件的时候,估计也是没什么打指望了
2007-08-24 12:48
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

上面我理解错了。。收缩数据库。。。。

在对象资源管理器中,连接到 SQL Server 2005 Database Engine 实例,再展开该实例。

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

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

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

选择此选项等效于通过执行 DBCC SHRINKDATABASE 来指定目标百分比选项。清除此选项等效于执行带有 TRUNCATEONLY 选项的 DBCC SHRINKDATABASE。默认情况下,该选项为清除状态。

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

单击“确定”。


2007-08-24 14:38
西风独自凉
Rank: 8Rank: 8
等 级:贵宾
威 望:43
帖 子:3380
专家分:28
注 册:2007-8-2
收藏
得分:0 

在 SQL Server 2005 中,数据库中的每个文件都可以通过删除未使用的页的方法来减小。尽管数据库引擎 会有效地重新使用空间,但某个文件多次出现无需原来大小的情况后,收缩文件就变得很有必要了。数据和事务日志文件都可以减小(收缩)。可以成组或单独地手动收缩数据库文件,也可以设置数据库,使其按照指定的间隔自动收缩。

文件始终从末尾开始收缩。例如,如果有个 5 GB 的文件,并且在 DBCC SHRINKDB 语句中将 target_size 指定为 4 GB,则数据库引擎 将从文件的最后一个 1 GB 开始释放尽可能多的空间。如果文件中被释放的部分包含使用过的页,则数据库引擎 先将这些页重新放置到保留的部分。只能将数据库收缩到没有剩余的可用空间为止。例如,如果某个 5 GB 的数据库有 4 GB 的数据并且在 DBCC SHRINKDATABASE 语句中将 target_size 指定为 3 GB,则只能释放 1 GB。

自动数据库收缩
将 AUTO_SHRINK 选项设置为 ON 后,数据库引擎 将自动收缩有可用空间的数据库。此选项可以使用 ALTER DATABASE 语句来进行设置。默认情况下,此选项设置为 OFF。数据库引擎 会定期检查每个数据库的空间使用情况。如果某个数据库的 AUTO_SHRINK 选项设置为 ON,则数据库引擎 将减少数据库中文件的大小。该活动在后台进行,并且不影响数据库内的用户活动。

手动数据库收缩
您可以使用 DBCC SHRINKDATABASE 语句或 DBCC SHRINKFILE 语句来手动收缩数据库或数据库中的文件。如果 DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 语句无法回收日志文件中的所有指定空间,则该语句将发出信息性消息,指明必须执行什么操作以便释放更多空间。有关收缩日志文件的详细信息,请参阅收缩事务日志。

在该过程中任意时间都可停止 DBCC SHRINKDATABASE 和 DBCC SHRINKFILE 操作,所有已完成工作都将保留。

在使用 DBCC SHRINKDATABASE 语句时,您无法将整个数据库收缩得比其初始大小更小。因此,如果数据库创建时的大小为 10 MB,后来增长到 100 MB,则该数据库最小只能收缩到 10 MB,即使已经删除数据库的所有数据也是如此。

但是,使用 DBCC SHRINKFILE 语句时,可以将各个数据库文件收缩得比其初始大小更小。必须对每个文件分别进行收缩,而不能尝试收缩整个数据库。

注意:
备份数据库或事务日志的同时不能收缩数据库或事务日志。反过来,在尝试收缩数据库或事务日志时也不能创建数据库或事务日志备份。

收缩事务日志
事务日志文件可在固定的边界内收缩。日志中虚拟日志文件的大小决定着可能减小的大小。因此,不能将日志文件收缩到比虚拟日志文件还小。而且,日志文件收缩的增量大小与虚拟日志文件的大小相等。例如,一个大小为 1 GB 的事务日志文件可以由五个大小为 200 MB 的虚拟日志文件组成。收缩事务日志文件将删除未使用的虚拟日志文件,但至少会留下两个虚拟日志文件。由于此示例中的每个虚拟日志文件都是 200 MB,因此事务日志最小只能减小到 200 MB,且只能以 200 MB 的大小为增量减小。若要能够将事务日志文件减小得更小,可以创建一个较小的事务日志,并让其自动增长,而不要一次创建一个大型的事务日志文件。

在 SQL Server 2005 中,DBCC SHRINKDATABASE 或 DBCC SHRINKFILE 操作会直接尝试将事务日志文件减小到所要求的大小(以四舍五入的值为准)。在收缩文件之前,应备份日志文件以减小逻辑日志的大小,并将不包含逻辑日志任何部分的虚拟日志标记为不活动。

快照隔离级别和收缩操作
收缩操作有可能被已经为该快照隔离级别启用的事务阻塞。出现这种情况时,DBCC SHRINKFILE 和 DBCC SHRINKDATABASE 将信息性消息(SHRINKDATABASE 为 5202,SHRINKFILE 为 5203)记录到错误日志,第一小时每五分钟记录一次,之后每小时记录一次


2007-08-24 14:42
快速回复:SQL SERVER2000的日志文件可不可以压缩??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.071580 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved