SQL SERVER数据库日志清空图文教程

数据库日志不停疯长,如何进行清空呢?这里以一台数据库SQL SERVER 2005为例, 日志文件达到了100多个G一直无法清理,想了很多的办法:

比如下面这款SqlServer日志清除专家,可用于SQL Server 7、SQL Server 2000、SQL Server 2005的各种版本的数据库日志的清除。

这个工具一清就可以清干净的。使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼。

第二个方法就是采用了一个比较死的办法。采用 分离,然后再删除日志文件再附加来生成一个新的日志文件。

切记在操作前先把SQL好好的备份一下。

第一步 当然还是打开企业管理器了

在分离前最好是先把IIS之类的正在连接数据库的程序关一下,要不然老半天也分离不了。

也可以选择一下 删除链接 这样可能分离会快一点。

我们再定位到数据库所在的硬盘位置

我们为了保除起见可以把 qq2.mdf备份一份,然后再将 qq2_log.ldf 这个文件重命一下名(200G的文件实在是没地方可以备份)。

然后我们再来附加数据库

附加到刚刚那个 mdf的文件。注意看下面会提示 .ldf 文件找不到。

不管他了。选择 .ldf这一分把他给删掉。

然后再确定,哈还原成功了。系统自动生成了一个新的 ldf 文件  504KB

建议大家先用上面的那个工具去清一下,如果清不到再用这个死办法来删除日志。

最后再次提醒各位一定要注意备份噢!!

SQL2008 的收缩日志 
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
Backup Log DNName with no_log
go
dump transaction DNName with no_log
go
USE DNName 
DBCC SHRINKFILE (2)
Go
--------------------------------------------------------------
(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
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
    USE [master]
    GO

    ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

    GO

    ALTER DATABASE DNName SET RECOVERY FULL  --还原为完全模式

    GO

优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。

时间: 2024-11-01 12:39:37

SQL SERVER数据库日志清空图文教程的相关文章

[Java]log4j写SQL Server数据库日志的统一写法

[Java]log4j写SQL Server数据库日志的统一写法 编写者 日期 关键词 郑昀@ultrapower 2005-7-19 Java log4j sqlserver   SQL Server 2000 Driver for JDBC Service Pack 3的下载 之前需要注意一点,sql server同样必须打上了sp3的补丁,然后才能与jdbc for sqlserver sp3连接.如果是"Error establishing socket"错误,很有可能是要在s

教你维护SQL Server数据库日志。

[导读]教你维护SQL Server数据库日志. 交易日志(即oracle中的事务)(Transaction logs)是数据库结构中非常重要但又经常被忽略的部分.由于它并不像数据库中的schema那样活跃,因此很少有人关注交易日志. 交易日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中.对于任何每一个交易过程,交易日志都有非常全面的记录,根据这些记录可以将数据文件恢复成交易前的状态.从交易动作开始,交易日志就处于记录状态,交易过程中对数据库的任何操

缩小sql server数据库日志文件,限制sql server数据库日志文件的大小

由于经常和数据库打交道,经常见到在客户的机器上,SQL server数据库日志文件的大小,远远超过于数据库数据文件的大小,客户用的都是一些服务器,磁盘空间有的是,当然不在乎这点文件,可以,当客户要求查找一些数据的时候,就不得不备份客户的数据库,经常是备份回来的数据库,无法还原,原因就是我的PC上没有这么大的空间来还原,无奈啊, 只有把客户的数据库日志缩小一下了,于是从网上找了以下代码,可以收缩数据库日志,我执行了一下,日志缩小的,不过有一个错误产生,还没来的急分析,先不管他,达到目的才是硬道理

Oracle SQL tuning 数据库优化步骤图文教程

  SQL Turning 是Quest公司出品的Quest Central软件中的一个工具.Quest Central是一款集成化.图形化.跨平台的数据库管理解决方案,可以同时管理 Oracle.DB2 和 SQL server 数据库. 一.SQL Tuning for SQL Server简介 SQL语句的优化对发挥数据库的最佳性能非常关键.然而不幸的是,应用优化通常由于时间和资源的因素而被忽略.SQL Tuning (SQL优化)模块可以对比和评测特定应用中SQL语句的运行性能,提出智能

SQL Server数据库日志已满的解决方法

Server Error in '/' Application.</pre><pre>--------------------------------------------------------------------------------</pre><pre> 数据库教程 'databasename' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 出现如上错误,请把数据库的故障恢复模式改为"简单"模式 , 即可解决 此

教你如何缩小SQL Server数据库日志文件

问题:数据库实际大小为600MB, 日志文件实际大小为33MB, 但日志文件占用空间为2.8GB!试了多种方式,SHIRNK DATABASE, TRUNCATE LOG FILE, 都没办法将文件缩小.无论如何,这应该算SQL Server的一个BUG吧. 解决方法: 后来找到下面的代码,就可以将日志文件缩小到自己想要的大小了.把代码COPY到查询分析器里,,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可. 以下为引用的内容: -----SET NOCOUNT

如何缩小SQL Server数据库日志文件

问题:数据库实际大小为600MB, 日志文件实际大小为33MB, 但日志文件占用空间为2.8GB!试了多种方式,SHIRNK DATABASE, TRUNCATE LOG FILE, 都没办法将文件缩小.无论如何,这应该算SQL Server的一个BUG吧. 解决方法: 后来找到下面的代码,就可以将日志文件缩小到自己想要的大小了.把代码COPY到查询分析器里,,然后修改其中的3个参数(数据库名,日志文件名,和目标日志文件的大小),运行即可. ----- SET NOCOUNT ON DECLAR

MS SQL SERVER 数据库日志压缩方法与代码_MsSql

MS SQL性能是很不错的,但是数据库用了一段时间之后,数据库却变得很大,实际的数据量不大.一般都是数据库日志引起的!数据库日志的增长可以达到好几百M. 网上的MSSQL虚拟主机价格也贵,要想不让数据库超容,只好压缩下数据库日志,或者删除数据库日志. 下面我给大家介绍一个方法 1.打开企业管理器 2.打开要处理的数据库 3.点击菜单>工具>SQL查询分析器 4.在输入窗口里面输入:  复制代码 代码如下: DUMP TRANSACTION [数据库名] WITH  NO_LOG  BACKUP

Centos 7.3下SQL Server安装配置方法图文教程

以后工作都将与Linux打交道,对于.net忠实粉丝现在进入Linux还算幸运,因为.net core和asp.net core都已经跨平台了.今天没事想试试传说中的Linux Sql server是不是上手容易. 安装SQL Server到Centos 7.3 官方文档:https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-red-hat OS必须条件: cat /etc/redhat-release 1.设