如何清除SQL数据库日志?清除后对数据库有什么影响?

如何清除SQL数据库日志?清除后对数据库有什么影响?,第1张

教你如何清除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清除后对数据库没有影响

数据库日志不停疯长 如何进行清空呢?这里以一台数据库SQL SERVER 为例 日志文件达到了 多个G一直无法清理 想了很多的办法

比如下面这款 SqlServer日志清除专家 可用于SQL Server SQL Server SQL Server 的各种版本的数据库日志的清除

这个工具一清就可以清干净的 使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼

第二个方法就是采用了一个比较死的办法 采用 分离 然后再删除日志文件再附加来生成一个新的日志文件

切记在 *** 作前先把SQL好好的备份一下

第一步 当然还是打开企业管理器了

在分离前最好是先把IIS之类的正在连接数据库的程序关一下 要不然老半天也分离不了

也可以选择一下 删除链接 这样可能分离会快一点

我们再定位到数据库所在的硬盘位置

我们为了保除起见可以把 qq mdf备份一份 然后再将 qq _log ldf 这个文件重命一下名( G的文件实在是没地方可以备份)

然后我们再来附加数据库

附加到刚刚那个 mdf的文件 注意看下面会提示 ldf 文件找不到

不管他了 选择 ldf这一分把他给删掉

然后再确定 哈还原成功了 系统自动生成了一个新的 ldf 文件  KB

建议大家先用上面的那个工具去清一下 如果清不到再用这个死办法来删除日志

最后再次提醒各位一定要注意备份噢!!

lishixinzhi/Article/program/SQLServer/201311/22344

使用SQL Server 清空数据库可用以下sql实现

Backup Log DNName with no_log

go

dump transaction DNName with no_log

go

USE DNName

DBCC SHRINKFILE ( )

Go

不过这个存储过程在SQL Server 中已经被取消 在 需要改用以下方式来清空数据库日志

USE [master]

GO

ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY SIMPLE 简单模式

GO

USE DNName

GO

DBCC SHRINKFILE (N DNName_Log TRUNCATEONLY)

GO

USE [master]

GO

ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

GO

ALTER DATABASE DNName SET RECOVERY FULL 还原为完全模式

GO

lishixinzhi/Article/program/SQLServer/201311/22359


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6757690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存