当前位置:首页 » 编程语言 » sql2008事务日志已满

sql2008事务日志已满

发布时间: 2024-10-26 02:39:15

1. sql server2008的ldf文件过大怎么收缩

在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:
- 第一步:清空日志

DUMP TRANSACTION
databasename
WITH
NO_LOG

-- 第二步:截断事务日志

BACKUP LOG
databasename
WITH
NO_LOG

-- 第三步:收缩数据库

DBCC SHRINKDATABASE(databasename)

需要说明几点:
1. 上面的SQL命令需要按照顺序执行;
2. 执行上面的命令通常比直接使用右键菜单中的“收缩”命令要快很多
参考资料:
SQL SERVER 数据库日志已满,如何收缩数据库日志
http://blog.csdn.net/faintbear/archive/2005/02/06/283316.aspx
如何收缩数据库日志

2. SQL Server事务日志被填满的原因是什么

错误描述:数据库的事务日志已满。若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的 log_reuse_wait_desc 列 。
首先引入一下事务日志的概念
事务日志是一个与数据库文件分开的文件。它存储对数据库进行的所有更改,并全部记录插入、更新、删除、提交、回退和数据库模式变化。事务日志还称作前滚日志或重做日志。
事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 [复制代理] 复制数据所必需的。
在缺省情况下,所有数据库都使用事务日志。事务日志的使用是可选的,但是,除非您因特殊原因而不使用,否则您应始终使用它。运行带有事务日志的数据库可提供更强的故障保护功能、更好的性能以及数据复制功能。
引发异常的原因:
a.未提交的事务
b.非常大的事务
c.操作:DBCC DBREINDEX 和 CREATE INDEX
d.在从事务日志备份还原时
e.客户端应用程序不处理所有结果
f.查询在事务日志完成扩展之前超时,您收到假的“Log Full”错误消息
g.未复制的事务
解决办法:
1.释放磁盘空间(菜鸟适用);
2.把数据库移到内存充足的磁盘(原理同上);
3.清空日志:DUMP TRANSACTION 库名 WITH NO_LOG;
4.截断事务日志:BACKUP LOG 库名 WITH NO_LOG;

3. SQL server数据库日志满了怎么处理

解决方法
日志文件满而造成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
时才能进行。
注意:一般立成建立的数据库默认属性已设好,但碰到意外情况使数据库属性被更改,请用户清空日志后,检查数据库的以上属性,以防事务日志再次充满。

4. 如何从根本上解决SQL数据库日志已满的问题

1、你设置了日志文件的最大数,数据库的恢复模式是完整恢复模式,所有的针对数据库的改动都会记录到日志,不仅仅是你的改动数据库,数据库本身的操作也有记录到日志,所以,日志文件才会不断增长。
2、那是因为大部分的电脑上的数据库,基本没怎么变过,但生产用的数据库经常变动,所以日志记录也变得巨大,我见过数据库200MB,但是日志文件50GB,因为本来数据库有10GB,因为测试需要删除了大部分的数据,结果导致日志文件增长到了50GB。
3、定时备份日志并收缩日志文件。
4、通过备份日志,并收缩日志文件,这个语句你自己网络。

5、日志是一个以事务编号连续的记录,比如,我第一次备份的日志事务编号为1-1000,那么日志就会被截断,并从1001开始,之后的日志备份就从1001开始了,所以,初始备份一直到最后一次备份都不能删除,否则使用日志恢复时会出现问题。

5. 怎么查看 sql server 2008 死锁日志

1.查询分析器执行 sp_lock 查看

2.右键服务器-选择“活动和监视器”,查看进程选项。注意“任务状态”字段。

3.右键服务名称-选择报表-标准报表-活动-所有正在阻塞的事务。祝你愉快,满意请采纳哦

6. sqlserver 事务日志已满的几种解决方案

一.删除日志文件:(不建议)
二.手动收缩:
1.数据库右键属性-选项-恢复模式-下拉选择简单-最后点击确定
2.右键数据库-任务-收缩-文件类型-下拉选择日志-收缩操作-在释放未使用.(默认收缩到1MB)-最后点击确定
3.最后别忘了回到第一步骤把恢复模式改为完整!
三.自动收缩:
1.为了以后能自动收缩,做如下设置:企业管理器–服务器–右键数据库–属性–选项–选择”自动收缩”QL语句设置方式:EXEC sp_dboption ‘数据库名’ ‘autoshrink’ ‘TRUE’
2.如果想以后不让它日志增长得太大
企业管理器–服务器–右键数据库–属性–事务日志–将文件增长限制为xM(x是你允许的最大数据文件大小)–SQL语句的设置方式:alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)四.分离附加:分离主数据库-删除.ldf文件-附件数据库;五.使用sql语句:(可设置为计划)
--将数据库设为简单模式。日志文件自动断开。
alter databasedbname set recovery simple
--查看日志文件状况
usedbname
dbcc shrinkfile(‘logname‘) --like XXXX_log
--恢复数据库模式
alter database dbname set recovery full
六.备份日志:
SQLServer2008先备份日志将日志截断.
再用dbccshrinkfile(日志文件,1024)收缩日志文件。
七.设置简单模式:
设置为简单模式不记录日志;
八.sql自动缩减日志:
针对日志这个问题,建议手动写个小工具(SQL提供自动缩减日志的脚本写法),添加到任务计划中,定时执行!可以节省很多磁盘空间!
sqlserver 事务日志已满的几种解决方案
标签:建议类型str收缩执行备份步骤任务计划database
标签 建议 类型 str 收缩 执行 备份 步骤 任务计划 database

7. 数据库事务jeeps日志已满,原因为replication

SQLServer中开启CDC之后,在某些情况下会导致事务日志空间被占满的现象为:
在执行增删改语句(产生事务日志)的过程中提示,The transaction log for database '***' is full e to 'REPLICATION'(数据库“***”的事务日志已满,原因为“REPLICATION”).
CDC以及复制的基本原理粗略地讲,对于日志的使用步骤如下:
1,每当基础表(开启了CDC或者replication的表)产生事务性操作(增删改)之后,对应的事务日志写入日志文件,
2,此时的日志被状态被标记为Replication,也即处于待复制状态,这个活动状态跟数据库的还原模式无关,即便是简单还原模式,
3,然后有后台进程来读取这个日志,根据事务日志的内存写入目标表,
这个目标对于cdc来说是记录数据变化的系统表,
对于replication来说是写入distribution这个库
4,步骤3完成之后,事务日志被标记为正常状态,如果是简单还原模式,被后台进程解析过的事务日志被截断,可以重用
如果上述中间的第三个步骤出现问题,也即后台进程无法解析日志后释放可用的日志空间,再次往数据库中写入操作,就会出现:数据库“TestDB”的事务日志已满,原因为“REPLICATION”的情况

热点内容
东北大脚本 发布:2024-11-24 00:42:26 浏览:532
山东省域名服务器地址云主机 发布:2024-11-24 00:42:23 浏览:520
安卓71的n是什么 发布:2024-11-24 00:27:27 浏览:389
存储一个国际码需要几个字节 发布:2024-11-24 00:26:41 浏览:957
javalistadd 发布:2024-11-24 00:26:39 浏览:428
fgo脚本登录 发布:2024-11-24 00:20:29 浏览:18
在dos下如何查看配置 发布:2024-11-24 00:20:28 浏览:731
北京时间服务器在什么地方 发布:2024-11-24 00:19:50 浏览:18
分贝的算法 发布:2024-11-24 00:16:07 浏览:928
横截面算法 发布:2024-11-24 00:15:12 浏览:258