哪位仁兄可告知如何清理SQL日志?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪位仁兄可告知如何清理SQL日志?相关的知识,希望对你有一定的参考价值。

建议更改数据库的事务日志,限制文件增长的最大值和定期备份日志和数据。在以下处理之前,最好整体备份整个数据库:

1:由小的事务引起日志溢出,系统能正常启动。

解决办法:

扩大数据库日志空间:
alter database 数据库名 on 设备名=数量(M为单位)

sp_logdevice 数据库名,设备名

清除日志
dump transaction 数据库名 with no_log(no_truncate)

2:由大的事物引起日志溢出,系统较长时间内无法正常启动或数据库无法恢复

解决办法:

强行清空日志。
在实在无法恢复数据库或有近期备份的情况下,可采用强行清空日志的方法。采取这种方法的后果有可能彻底破坏数据库。执行步骤如下:

Ⅰ 以-v 方式启动SQL SERVER(不检测日志)

Ⅱ 修改数据库状态为-32768(阻塞状态)

update sysdatabases set status=-32768 where name=数据库名

Ⅲ 授权sybase_ts_role权限(sybase_ts_role为SQL SERVER特殊管理员权限,在日常的数据库管理中,不需要这个角色)

sp_role “grant”,”sybase_ts_role”,sa

set role “sybase_ts_role”

Ⅳ 清除日志

dbcc rebuild_log(数据库名,1,1)

完成以上步骤后,重新启动SQL SERVER即可。如果数据库能正常启动,数据库就恢复完成;如果无法启动,只能重新创建数据库。

(另外,,,,,系统重安再重新安SQL就成功了!你就试一试重安系统吧!那来的还要快些。)
参考技术A 先打开查询分析器,然后输入下面语句执行

清空日志
DUMP TRANSACTION 数据库名 WITH NO_LOG

截断事务日志
BACKUP LOG 数据库名 WITH NO_LOG

收缩数据库
DBCC SHRINKDATABASE(数据库名)

SQLServer2008 清理日志文件

sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬盘都堆满哦,我就遇到这样的情况。下面我们一起来学习一下如何清理这个日志吧

SQL2008清空删除日志:

--注:DBNAME就是你要清理的数据库名称
USE
[master] GO ALTER DATABASE DBNAME SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DBNAME SET RECOVERY SIMPLE --简单模式 GO USE DBNAME GO DBCC SHRINKFILE (NDBNAME_log , 11, TRUNCATEONLY) GO --如果不知道日志文件在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询 --USE DBNAME --GO --SELECT file_id, name FROM sys.database_files; USE [master] GO ALTER DATABASE DBNAME SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DBNAME SET RECOVERY FULL --还原为完全模式 GO

 


以上是关于哪位仁兄可告知如何清理SQL日志?的主要内容,如果未能解决你的问题,请参考以下文章

如何清理sql server 2008日志

如何清理SQL Server ErrorLog错误日志

如何清理Oracle11g RAC日志文件

如何清理Oracle11g RAC日志文件

如何清理SQL Server中的事务日志

请问有哪位仁兄懂得怎样安装ERP中的sap软件呢?