数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

SQL SERVER数据库日志清空图文教程


发布日期:2021年11月07日
 
SQL SERVER数据库日志清空图文教程

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

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

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

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

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

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

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

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

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

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

然后我们再来附加数据库

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

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

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

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

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

SQL的收缩日志
由于SQL对文件和日志管理进行了优化所以以下语句在SQL中可以运行但在SQL中已经被取消
(SQL)
BackupLogDNNamewithno_log
go
dumptransactionDNNamewithno_log
go
USEDNName
DBCCSHRINKFILE()
Go

(SQL):
在SQL中清除日志就必须在简单模式下进行等清除动作完毕再调回到完全模式
USE[master]
GO
ALTERDATABASEDNNameSETRECOVERYSIMPLEWITHNO_WAIT
GO
ALTERDATABASEDNNameSETRECOVERYSIMPLE简单模式
GO
USEDNName
GO
DBCCSHRINKFILE(NDNName_LogTRUNCATEONLY)
GO
USE[master]
GO

ALTERDATABASEDNNameSETRECOVERYFULLWITHNO_WAIT

GO

ALTERDATABASEDNNameSETRECOVERYFULL还原为完全模式

GO

优点此清除日志所运行消耗的时间短GB的日志在分钟左右即可清除完毕做完之后做个完全备份在分钟内
即可完成
缺点不过此动作最好不要经常使用因为它的运行会带来系统碎片普通状态下LOG和DIFF的备份即可截断日志
此语句使用的恰当环境当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用

               

上一篇:sql server 2008在安装了活动目录以后无法启动服务了

下一篇:SQL Server得到表记录总数的另类方法