欢迎分享,转载请注明来源:内存溢出
教你如何清除SQL日志 \x0d\x0a\x0d\x0a1.打开查询分析器,输入命令\x0d\x0aDUMP TRANSACTION 数据库名 WITH NO_LOG\x0d\x0a2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。\x0d\x0a\x0d\x0a清除Log有两种方法:\x0d\x0a\x0d\x0a 1.自动清除法\x0d\x0a\x0d\x0a 开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。\x0d\x0a\x0d\x0a 2.手动清除法\x0d\x0a\x0d\x0a 执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:\x0d\x0a\x0d\x0adump transaction with truncate_only\x0d\x0adump transaction with no_log \x0d\x0a\x0d\x0a 通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会d出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。\x0d\x0a\x0d\x0a 以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。 \x0d\x0a\x0d\x0a清除后对数据库没有影响2.截断事务日志:BACKUP LOG 数据库名WITH NO_LOG3.收缩数据库文件(如果不压缩,数据库的文件不会减小企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了也可以用SQL语句来完成--收缩数据库DBCC SHRINKDATABASE(客户资料)--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfilesDBCC SHRINKFILE(1) 代码如下复制代码backup, log, 模式-- 第一步:清空日志DUMP TRANSACTION [YZGA] WITH NO_LOG-- 第二步:截断事务日志BACKUP LOG [YZGA] WITH NO_LOG-- 第三步:收缩数据库尽管可用该选项手动截断事务日志,但是我们极力建议您不要这样做,因为这会将日志链断开。在下一次完整备份或完整差异备份之前,将无法为数据库提供媒体故障保护。只在非常特殊的情况下才手动截断日志,并立即创建数据备份。 删除日志方法二1、进入企业管理器,选中数据库,比如it,所有任务->分离数据库。2、如果数据库正在连接使用,要先点清除,才可以选确定。3、到数据库文件的存放目录,将it_log.LDF文件删除,不放心可以先拷到别的地方。4、进入企业管理器,数据库->所有任务->附加数据库。5、选择it_Data.MDF,这个时候你会看见日志文件这项是一个红叉,不要紧点确定。6、此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
SQL两张表联合查询
上一篇
2023-05-04
MySQL分页的sql语言怎么写?
下一篇
2023-05-04
评论列表(0条)