| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4340 人关注过本帖
标题:老是提示“日志已满,请备份事务日志”,该怎样处理啊?
只看楼主 加入收藏
zenghuike
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-16
收藏
 问题点数:0 回复次数:5 
老是提示“日志已满,请备份事务日志”,该怎样处理啊?
我单位的重做了系统后,数据库老是出现“日志已满,请备份事务日志”提示,通过sqlserver2000的企业管理器中的数据库维护计划进行事务日志备份,提示操作失败,(sqlmaint.exe 失败。 [SQLSTATE 42000](错误 22029). 步骤失败。)是怎么回事?
还有,如果我做的备份用的完全备份,是不是也包含了日志备份在里面了,这样的话,我是不是可以不用做事务日志备份了,
还有为什么在数据库备份时,事务日志一栏为什么呈灰状!!
急!!!!
先谢谢各位了!!!
搜索更多相关主题的帖子: 日志 事务 提示 
2006-09-02 00:30
wsn
Rank: 2
等 级:新手上路
威 望:5
帖 子:321
专家分:0
注 册:2006-2-9
收藏
得分:0 
一是增加空间
二是用定时收缩日志
三是直接把数据模式设置成“简单”,就不会有哪么大的日志了

已婚男人!没事请勿打扰·老婆格言:①不准對她耍酷 ②不准讓她吃醋 ③吵架我要讓步 ④揍我我要挺住⊙⊙
2006-09-02 10:23
潇洒老乌龟
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:407
专家分:0
注 册:2005-12-13
收藏
得分:0 

删除日志

清除SQLSERVER日志文件

DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE szwzcheck -- 要操作的数据库名
SELECT @LogicalFileName = 'szwzcheck_Log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 20 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
SELECT @OriginalSize = size
FROM sysfiles
WHERE name = @LogicalFileName
SELECT 'Original Size of ' + db_name() + ' LOG is ' +
   CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
   CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
CREATE TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
SELECT @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time
AND @OriginalSize = (SELECT size FROM sysfiles WHERE name =
@LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
SELECT 'Final Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName
DROP TABLE DummyTrans
SET NOCOUNT OFF

把szwzcheck换成你数据库的名字即可,在查询分析器里面运行。


乌龟学堂http://www. 承接各种软件开发、系统集成、网络搭建。 QQ:124030710
2006-09-02 22:18
zenghuike
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-16
收藏
得分:0 

问题已经解决了,可能是盗版的原因,在企业管理器里面查看了数据库的事务日志分配空间为1M,设置为无限增大,但是必须要手动设置一下日志空间,然后数据库生成的日志文件才会自动增大,否则就容易提示日志空间已满的错误提示,简直郁闷死我了,还好这个问题终于找出来了,否则我的麻烦就大了,老板非骂死我不可!!呵呵
还有一个问题请教:就是重做的系统,新建的数据库,然后我直接将以前的数据库的备份文件还原过去,这样做会不会对数据库结构产生影响!!

2006-09-04 20:42
huazisoft
Rank: 1
等 级:新手上路
帖 子:127
专家分:0
注 册:2006-9-4
收藏
得分:0 
支持正版,打击盗班!!!

如果你是深藏不露的编程高手,www..cn不仅让你有一展身手的好机会,更能赢得一份额外收入!
2006-09-06 15:39
ヤ順祺冄繎ヤ
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:3032
专家分:0
注 册:2005-11-9
收藏
得分:0 
use YourDatabaseName
GO
backup log YourDatabaseName with TRUNCATE_ONLY
GO
DBCC SHRINKFILE (逻辑文件名, 收缩后的大小)
GO

压缩日志
2006-09-08 13:09
快速回复:老是提示“日志已满,请备份事务日志”,该怎样处理啊?
数据加载中...
 
   



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

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