监控事务日志的使用情况 1.sp_spaceused syslogs 2.select data_pgs(8,doampg) from sysindexes where id=8 这是判断日志满的程度的最快的方法,但可能的误差最多达16页 3.DBCC checktable(syslogs) 这个命令检查指针,对页面计数,得到已用日志窨的数量及自由窨的百分比的报告,这个命令的日志必须在自己的段上凡开销很大应在系统不忙的时候使用 4.sp_helpdb dbname . 使用阀值原理 可以使用阀值管理,在日成快满时自动通知用户,也可以在阀值管理中安排为超过革个阀值时自动控制转储日志 5.检查长时运行 的或"搁浅"的事务这些事务使日志不能被截断 *查找应用中是否存在最老的事务: select L.name,P.spid,Pprogram_name,H.starttime from master. .sysprocesses P.master..syslogshold H,master. .syslogons where P.spid=H.spid and H.spid!-0 and P.suid=H.suid *查找一个阻塞日志截断事务的名称和进程号: select H.spid from master. .syslogshold H.sysindexes I where H.dbid=db_id() and H.id=8 and H.page=I.first and H.spid!=0 6.sysdatabase 中 status 及status2 的各们含义: STATUS: 4 (0XO4) select into/bulkcopy 8 (0xo8) trunc log on chkpt 16 (0x10) no chkpt on recovery 32 (0x20) database created with "for load" option or crashed 64 (0x40) database not recovered 256 (0x100) database suspect,not recovered,cannot be opened or used,can be dropped only with dbcc dbrepair 512 (0x200) ddl in tran 1024 (0x400) read only 2048 (0x800) dbl use only 4096 (0x1000) single user 8192 (0x2000) allow nulls by default 16384 (0x4000) dbname has changed status2: 1 (0x0001) abort tran on log full 2 (0x0002) no free space acctg 4 (0x0004) auto identity 8 (0x0008) identity in ononunique index 16 (0x0010) database is offline 32 (0x0020) database is offline umtil recovery completes 32768 (ox8000) database does not have a dedicated log device 128 (ox80) pages suspect (ase 11.5 only)
1.sp_spaceused syslogs
2.select data_pgs(8,doampg) from sysindexes where id=8
这是判断日志满的程度的最快的方法,但可能的误差最多达16页
3.DBCC checktable(syslogs)
这个命令检查指针,对页面计数,得到已用日志窨的数量及自由窨的百分比的报告,这个命令的日志必须在自己的段上凡开销很大应在系统不忙的时候使用 4.sp_helpdb dbname .
使用阀值原理
可以使用阀值管理,在日成快满时自动通知用户,也可以在阀值管理中安排为超过革个阀值时自动控制转储日志
5.检查长时运行 的或"搁浅"的事务这些事务使日志不能被截断
*查找应用中是否存在最老的事务:
select L.name,P.spid,Pprogram_name,H.starttime from master.
.sysprocesses P.master..syslogshold H,master.
.syslogons where P.spid=H.spid and H.spid!-0 and P.suid=H.suid
*查找一个阻塞日志截断事务的名称和进程号:
select H.spid from master.
.syslogshold H.sysindexes I where H.dbid=db_id() and H.id=8 and H.page=I.first and H.spid!=0
6.sysdatabase 中 status 及status2 的各们含义:
STATUS:
4 (0XO4) select into/bulkcopy
8 (0xo8) trunc log on chkpt
16 (0x10) no chkpt on recovery
32 (0x20) database created with "for load" option or crashed
64 (0x40) database not recovered
256 (0x100) database suspect,not recovered,cannot be opened
or used,can be dropped only with dbcc dbrepair
512 (0x200) ddl in tran
1024 (0x400) read only
2048 (0x800) dbl use only
4096 (0x1000) single user
8192 (0x2000) allow nulls by default
16384 (0x4000) dbname has changed
status2:
1 (0x0001) abort tran on log full
2 (0x0002) no free space acctg
4 (0x0004) auto identity
8 (0x0008) identity in ononunique index
16 (0x0010) database is offline
32 (0x0020) database is offline umtil recovery completes
32768 (ox8000) database does not have a dedicated log device
128 (ox80) pages suspect (ase 11.5 only)