回族四少 发表于 2008-06-14 07:02

数据库的日志剩余空间竟比分配的日志空间大(已解决)

日志剩余空间竟比分配的日志空间大,彻底晕倒了
数据库库为awsdyndb,分配的日志空间为12G,由于最近要删除数据,所以就每天dump一次,免得
日志不够使用,但是每次dump之后日志空间就比分配该库的日志空间大一次。。。。
(1 row affected)
device_fragments               size          usage                created             free kbytes      
------------------------------ ------------- -------------------- ------------------- ----------------
awsdyndb_dev                      32000.0 MB data only            Feb 15 20063:04AM          6260528
awsdyndb_log                      10000.0 MB log only             Feb 15 20063:04AM not applicable   
awsdyndb_dev2                     32000.0 MB data only            Sep 27 2007 10:20AM         445600
phsdb06_dev                        2048.0 MB log only             Jun1 2008 11:23PM not applicable   
                                                                                                                  
-----------------------------------------------------------------------------------------------------------------
log only free kbytes = 15600608   

看日志空间为12G,剩余却是15.6G。。。这是dump后的结果。


再看第三次dump后的结果

device_fragments               size          usage                created             free kbytes      
------------------------------ ------------- -------------------- ------------------- ----------------
awsdyndb_dev                      32000.0 MB data only            Feb 15 20063:04AM          7063760
awsdyndb_log                      10000.0 MB log only             Feb 15 20063:04AM not applicable   
awsdyndb_dev2                     32000.0 MB data only            Sep 27 2007 10:20AM         445600
phsdb06_dev                        2048.0 MB log only             Jun1 2008 11:23PM not applicable   
                                                                                                                  
-----------------------------------------------------------------------------------------------------------------
log only free kbytes = 73953192                                                                                 
(return status = 0)

日志空间为12G,dump之后居然 log only free kbytes 为73个G。。汗整个数据才只有76G。数据分的是64,为什么这里显示的结果越来越多呢?:em17:

[ 本帖最后由 回族四少 于 2008-7-19 00:08 编辑 ]

camham 发表于 2008-06-15 00:14

dbcc checktable(syslogs)检查空间看看

回族四少 发表于 2008-06-20 21:26

利用该方法成功解决

重新计算日志空间的方法如下:以库latn为例:
1、正常shutdown server。
2、在RUN文件中加入-T7408,启动server。启动过程中可查看到“Forcing server to scan allocation pages to find free log space count for database 7”。Server会重新计算每个数据库的free log space。
3、启动后用sp_helpdb latn查看log free的情况,仍可能是错误的。
isql -U -P -S
>use latn
>go

>create table dummy_table_aaa (c1 int,c2 char(2))
>go

>insert into dummy_table_aaa values(1,”1”)
>go 200

>checkpoint (必须手工执行)
>go

>sp_helpdb latn
>go

显示latn的log free space为正常,修复成功。
>drop table dummy_table_aaa
>go

:em20:
页: [1]
查看完整版本: 数据库的日志剩余空间竟比分配的日志空间大(已解决)