SQL Server 2008 清空删除日志文件的解决办法

2022-11-12 09:37:43
内容摘要
这篇文章主要为大家详细介绍了SQL Server 2008 清空删除日志文件的简单示例,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! sql 在使用中
文章正文

这篇文章主要为大家详细介绍了SQL Server 2008 清空删除日志文件的简单示例,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

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

SQL2008清空删除日志:

方法一:

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<code>
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</code>

'在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
28
<code>
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</code>

SQL2005清空删除日志:

代码如下:

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

sqlserver2000压缩日志

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

代码如下:

1
2
3
4
<code>
DUMP TRANSACTION [512pic] WITH NO_LOG
BACKUP LOG [512pic] WITH NO_LOG
DBCC SHRINKDATABASE([512pic])</code>

这篇文章就介绍到这了,文中整合了512笔记以前发布的文章,需要的朋友可以参考一下。

注:关于SQL Server 2008 清空删除日志文件的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!