服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Sql Server - SQL Server 2008 清空删除日志文件(瞬间日志变几M)

SQL Server 2008 清空删除日志文件(瞬间日志变几M)

2020-06-12 17:57服务器之家 Sql Server

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

SQL2008清空删除日志:

方法一:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE
GO
USE AFMS
GO
DBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY FULL
GO

'在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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' , 11, TRUNCATEONLY)
 
GO
 
 '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询
 
'USE DNName
 
'GO
 
'SELECT file_id, nameFROM sys.database_files;
 
'GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO

SQL2005清空删除日志:

?
1
2
3
4
5
6
7
Backup Log DNName with no_log '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。
go
dump transaction DNName with no_log
go
USE DNName
DBCC SHRINKFILE (2)
Go

sqlserver2000压缩日志

可以将tuohang.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。

?
1
2
3
DUMP TRANSACTION [tuohang] WITH NO_LOG
BACKUP LOG [tuohang] WITH NO_LOG
DBCC SHRINKDATABASE([tuohang])

 

延伸 · 阅读

精彩推荐