SQL Server2005 附加数据库的时候报错 事务日志已满

数据库'JLH'的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅sys.databases中的log_reuse_wait_desc列。无法打开新数据库'JLH... 数据库 'JLH' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。
无法打开新数据库 'JLH'。CREATE DATABASE 中止。 (.Net SqlClient Data Provider)
这个事务日志怎么清理,如果直接把事业日志删掉还是不行,会报找不到JLH_log.ldf文件
展开
 我来答
xplong82
2012-04-12 · TA获得超过970个赞
知道小有建树答主
回答量:1058
采纳率:0%
帮助的人:944万
展开全部
日志文件满而造成SQL数据库无法写入文件时,可用两种方法:
一种方法:清空日志。
1.打开查询分析器,输入命令
DUMP TRANSACTION 数据库名 WITH NO_LOG
2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。

另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
1: 删除LOG
分离数据库 企业管理器->服务器->数据库->右键->分离数据库
2:删除LOG文件
附加数据库 企业管理器->服务器->数据库->右键->附加数据库
此法生成新的LOG,大小只有500多K。

注意:建议使用第一种方法。

如果以后,不想要它变大。
SQL2000下使用:
在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
或用SQL语句:
alter database 数据库名 set recovery simple

另外,如上图中数据库属性有两个选项,与事务日志的增长有关:
Truncate log on checkpoint
(此选项用于SQL7.0,SQL 2000中即故障恢复模型选择为简单模型)
当执行CHECKPOINT 命令时如果事务日志文件超过其大小的70% 则将其内容清除在开发数据库时时常将此选项设置为True
Auto shrink
定期对数据库进行检查当数据库文件或日志文件的未用空间超过其大小的25%时,系统将会自动缩减文件使其未用空间等于25% 当文件大小没有超过其建立时的初始大小时不会缩减文件缩减后的文件也必须大于或等于其初始大小对事务日志文件的缩减只有在对其作备份时或将Truncate log on checkpoint 选项设为True 时才能进行。
yjx_xiaoxin
2012-04-11 · TA获得超过6702个赞
知道大有可为答主
回答量:4618
采纳率:50%
帮助的人:2520万
展开全部
可以截断一下日志,但是一定记得备份数据库,以免数据丢失.
截断日志可以如下操作
backup log jlh with truncat_only;
追问
这个数据库已经被删掉了,备份不了了,怎么样办
还有这个截断日志在哪里操作?
我都是用的ORACLE数据库,我对SQLSERVER不熟悉
刚刚用了 backup log jlh with truncat_only; 报错
消息 155,级别 15,状态 1,第 1 行
'truncat_only' 不是可以识别的 BACKUP 选项。
追答
不好意思,应该是truncate_only,漏了一个字母
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式