SQL Server 2000/2005/2008删除或压缩数据库日志的方法

 更新时间:2019年09月20日 14:19:43   投稿:mdxy-dxy  
最近win2008 r2的服务器比较卡,打开服务器显示也特别慢,sqlserver业务费正常执行,服务器桌面操作也比较卡,经过多方研究发现原来是sqlserver日志文件已经达到了84G导致,这里就为大家分享一下解决方法,需要的朋友可以参考一下

由 于数据库日志增长被设置为“无限制”,所以时间一长日志文件必然会很大,一个400G的数据库居然有600G的LOG文件,严重占用了磁盘空间。由于主要 是做OLAP,所以数据库本身不会有大变动,所以日志也就没有多少作用了,因此想办法把数据库日志文件收缩到很小或者删除。

网 上搜索相关解决方案后,得到的答案丰富多彩,但是真正管用的方案并不多,这里分享一个csdn上找到的方法。这个方法讲述了SQL Server 2005和SQL Server 2008在收缩数据库日志的不同之处,颇有帮助。同时,该方法的效率很高,收缩600G的日志到10M只花了不到30秒。

最后附上代码:

适用于SQL Server 2000的方法

DUMP TRANSACTION [jb51] WITH NO_LOG
BACKUP LOG [jb51] WITH NO_LOG
DBCC SHRINKDATABASE([jb51])

其中jb51为数据库名

适用于SQL Server 2005的方法

Backup Log [jb51] WITH no_log
GO
DUMP TRANSACTION [jb51] WITH no_log
GO
USE jb51 
DBCC SHRINKFILE (2)
GO

说明:由于SQL Server 2008对文件和日志管理进行了优化,所以以上语句在SQL2005中可以运行但在SQL2008中已经被取消。

USE[master]
GO
ALTER DATABASE jb51 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE jb51 SET RECOVERY SIMPLE --简单模式
GO
USE jb51
GO
DBCC SHRINKFILE (N'DNName_Log', 11, TRUNCATEONLY)

GO

USE[master]
GO
ALTER DATABASE jb51 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE jb51 SET RECOVERY FULL --还原为完全模式
GO

其中jb51为数据库名,DNName_Log为日志名,需要找一下,具体的说明可以参考这篇文章,也有图文方法 https://www.jb51.net/article/136523.htm

这篇文章就介绍到这了,需要的朋友可以参考一下,希望大家以后多多支持脚本之家。

相关文章

  • SQL Server数据汇总五招轻松搞定

    SQL Server数据汇总五招轻松搞定

    有些时候你想让SQL Server 返回一个聚集结果集合,而不是一个详细的结果集。SQL Server的GROUPBY子句,为你提供了一种聚合SQL Server数据的方式。GROUPBY子句允许你在一列或多列数据甚至是表达式上进行分组操作,在这篇文章中,我将讨论如何使用GROUPBY子句来汇总数据。
    2015-09-09
  • SQL语句实现删除ACCESS重复记录的两种方法

    SQL语句实现删除ACCESS重复记录的两种方法

    有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
    2010-04-04
  • 针对distinct疑问引发的一系列思考

    针对distinct疑问引发的一系列思考

    这篇文章主要针对distinct疑问引发的一系列思考,希望大家耐心阅读,一定会有所收获。
    2015-11-11
  • SQL Server创建数据库图文教程

    SQL Server创建数据库图文教程

    这篇文章主要介绍了SQL Server创建数据库图文教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 深入SQL Server 跨数据库查询的详解

    深入SQL Server 跨数据库查询的详解

    本篇文章是对SQL Server中的跨数据库查询进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • SQL Server 数据库的更改默认备份目录的详细步骤

    SQL Server 数据库的更改默认备份目录的详细步骤

    这篇文章主要介绍了SQL Server 数据库的更改默认备份目录的详细步骤,需要的朋友可以参考下
    2023-04-04
  • sql where 1=1的优缺点分析

    sql where 1=1的优缺点分析

    where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句
    2013-04-04
  • sql server如何去除数据中的一些无用的空格

    sql server如何去除数据中的一些无用的空格

    这篇文章主要介绍了sql server去除数据中的一些无用的空格,本文给大家提到了一些常用的函数,结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • SQL学习笔记一SQL基础知识

    SQL学习笔记一SQL基础知识

    刚开始接触sqlserver的朋友可以参考下。虽然文字比较短,但内容都是经验之谈。
    2011-08-08
  • 获取星期几的名称

    获取星期几的名称

    两个自定义函数,一个是返回一个Table,另一个是直接返回名称
    2012-01-01

最新评论