SQL的错误修复

Error : 1105, Severity: 17, State: 2
Can't allocate space for object 'Syslogs' in database 'kc' because the 'logsegment' segment is full. If you ran out of space in Syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to increase the size of the segment.

发生此种状况因为MSDB database已满,系统管理员可手动删除旧的项目或
参照下列方式建立一个store procedure,再执行此stored procedure: 
use master
go 
sp_configure 'allow', 1
go
reconfigure with override
go
drop proc sp_cleanbackupRestore_log
go
create proc sp_cleanbackupRestore_log
@DeleteBeforeDate datetime
as
begin
Delete from msdb.dbo.sysbackupdetail where backup_id
in (Select backup_id from msdb.dbo.sysbackuphistory where 
backup_start <=
@DeleteBeforeDate)
Delete from msdb.dbo.sysbackuphistory where backup_start <=
@DeleteBeforeDate
Delete from msdb.dbo.sysrestoredetail where restore_id
in (Select restore_id from msdb.dbo.sysrestorehistory where
backup_start <=
@DeleteBeforeDate)
Delete from msdb.dbo.sysRestorehistory where backup_start<=
@DeleteBeforeDate
end
go
sp_configure 'allow', 0
go
reconfigure with override
若要删除 Apr 30,1998之前的项目,则执行exec sp_cleanbackupRestore_log '
4/30/98' (引自http://www.moon-soft.com/program/doc/readelite1447.htm)
其实我按照上面的方法没成功,主要是因为是个SQL6。5的库,我找不到查询分析器,于是将日志删除了,闷。

历史评论

暂无保留的历史评论。

评论为旧站历史记录,本站不再接受新评论。