Sybase SQL Server日志问题普及
2010-06-19 15:12:44 来源:WEB开发网4.增加阈值(sp_addthreshold)
它用于创建阈值( threshold )来监测数据库段中空间的使用。如果段中自由空间低于指 定值,SQL Server运行有关的存储过程。增加阈值的命令语法为:
sp_addthreshold database, segment, free_pages, procedure
其中:
◆database——要添加阈值的数据库名。必须是当前数据库名称。
◆segment——其自由空间被监测的段。当指定“default“ 段时要用引号。
◆free_pages——阈值所指的自由空间页数。当段中自由空间低于该标准时,SQL Server 运行有关存储过程。
◆procedure——当segment中的自由空间低于free_pages时,SQL server 执行该存储过程 。该过程可以放置在当前SQL Server或Open server的任意数据库中。但是,超出阈值时,不 能执行远程SQL Server上的存储过程。
例如:sp_addthreshold pubs2, logsegment, 200, dump_transaction
其中,存储过程定义为:
create procedure dump_transaction
@ dbname varchar (30),
@ segmentname varchar (30),
@ space_left int,
@ status int
as
dump transaction @dbname to "/dev/rmtx"
那么,当日志段上可用空间小于200页时,SQL Server运行存储过程dump_transaction,将 pubs2 数据库的日志转储到另一台设置上。
sp_addthreshold不检查存储过程存在已否。但当阈值越出时,如果存储过程不存在,SQL Server把错误信息送到错误日志( errorlog )中。系统允许每个数据库有256个阈值,而同 一段上二个阈值之间的最小空间为128页。其存储过程可以是系统存储过程,也可是在其它数 据库里的存储过程,或者Open Server远过程调用。
5.删除阈值(sp_dropthreshold)
它删除某个段的自由空间阈值,但是不能删除日志段的最后机会阈植。删除阈值的命令语 法为:
sp_dropthreshold database_name,segment_name,free_pages
其中三个参数分别为:阈值所属数据库名,阈值所监测的自由空间的段名,和自由空间页 。例如:
sp_dropthreshold pubs2, logsegment, 200 (删除 pubs2库中logsegment段的阈值200)
6.显示阈值(sp_helpthreshold)
它报告当前数据库上与所有阈值有关的段,自由空间值,状态以及存储过程或报告某一特 定段的所有阈值。显示阈值的语法为:
sp_helpthreshold [segment_name]
其中segment_name是当前数据库上一个段的名字。
例如:
◆sp_helpthreshold logsegment 显示在日志段上的所有阈值
◆sp_helpthreshold 显示当前数据库上所有段上的全部阈值
赞助商链接