数据库日志不停疯长 如何进行清空呢?这里以一台数据库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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)