SQL Server 2005 日志文件过大处理

由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份、截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了。

备份和计划就不说了,现在就说下怎么把它先删除吧:

1:先分离数据库

2:为了保险,先不要删除,把LDF文件重命名下

3:附件数据库。

4:OK。

以上可能遇到的问题:

1:有用户连接,无法分离(勾选“断开所有连接”)

2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了,再去数据库数据目录下看看,LDF只有几百K,这是自动生成的,附件成功。

3:OK,附件成功,打开应用,看访问是否正常(如果数据库还要连接网络中的其他机器,这个时候需要修复下IP,或者禁用再启用就可以了,因为有时候修复的窗口总是关不掉),正常之后就可以把那个大大的文件给删除了。

当然,最好的办法还是事前计划好,设置好,添加个作业计划,这样以后就会自动备份,收缩之类的,控制在一定大小范围内。

学习之后,其他的简单处理方法:

1:清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

2:收缩日志

企业管理器--右键点击你要收缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至**M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了(建议在200~300M,以防止需要恢复使用)

3: 删除LOG

1:分离数据库企业管理器->服务器->数据库->右键->分离数据库(有连接情况下勾选“断开所有连接”)

2:删除LOG文件

3:附加数据库企业管理器->服务器->数据库->右键->附加数据库

此法生成新的LOG,大小只有几百K。

再将此数据库设置自动收缩

4: 如果想以后不让它一直增长:

企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:

alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

5.设置为自动收缩

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

SQL Server 2005 日志文件过大处理

时间: 2024-12-23 10:23:19

SQL Server 2005 日志文件过大处理的相关文章

(转载)SQL Server 2005 日志文件过大处理

由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份.截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了. 备份和计划就不说了,现在就说下怎么把它先删除吧: 1:先分离数据库 2:为了保险,先不要删除,把LDF文件重命名下 3:附件数据库. 4:OK. 以上可能遇到的问题: 1:有用户连接,无法分离(勾选“断开所有连接”) 2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了

SQL SERVER LDF日志文件太大的解决方法

如何压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏你的数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. --*/ --下面的所有库名都指你要处理的数据库的库名 1.清空日志 DUMP     TRANSACTION     库名     WITH     NO_LOG 2.截断事务日志: BACKUP   LOG   库名   WIT

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

SQL SERVER 清理日志文件

代码清理: USE[master] GO ALTER DATABASE 表名 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 表名 SET RECOVERY SIMPLE   --简单模式 GO USE 表名 GO DBCC SHRINKFILE (N'日志名' , 11, TRUNCATEONLY) GO USE[master] GO ALTER DATABASE 表名 SET RECOVERY FULL WITH NO_WAIT GO A

sql server 2012日志文件超大,清除日志的处理过程

有一个项目使用了sql server2012版本的数据库,一开始可能没有注意到日志文件,使得日志文件越来越大,当使用sql2008的收缩文件的方法进行操作时,问题出现了. DUMP TRANSACTION BigData WITH NO_LOG BACKUP LOG BigData WITH NO_LOG 使用上面的方法并不能解决问题,因为2012已经不支持transaction了. 通过百度搜索了大量前人的解决方式,最终找到一个解决的办法: 给出原办法出处:http://www.itpub.n

修改SQL Server 2005 数据库文件名字

对于SQLServer 2005的数据库文件名字的修改.不多说,见图: 对于数据库名的更改直接选中要修改的数据库,F2,你懂的,不懂的可以去屎了.....0.0 下面要修改数据库的文件名 原理就是利用SQL Server 2005  的备份.还原功能实现 先备份数据库: 备份成功后再还原,还原的时候就可以修改文件名了...... 确定,,,,OK

SQL Server 收缩日志 清空删除大日志文件

SQL2008 的收缩日志 由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消: (SQL2000) -- Prog: Xinsoft -- Time: 2005-03-26 10:34  SET NOCOUNT ON DECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INT  USE dbJieXin -- 要操作的数据库名 SELECT @LogicalFil

[SQL Server] 数据库日志文件自动增长导致连接超时的分析

1.现象.问题描述 客户反映某客户端登陆不了,客户端程序日志显示“连接数据库超时”:检查对应的数据库服务器,日志显示“Autogrow of file '某数据库日志文件' in database '某数据库' was cancelled by user or timed out after 2391 milliseconds.  Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly

sql server 临时库文件太大 迁移tempdb数据库

由于装SQL Server时默认装在系统盘,使用一段时间后,tempdb数据库占了68G,导致整个C盘爆满,彻底解决办法就是迁移tempdb物理文件,移至其他大空间磁盘上. 将 tempdb 从其在磁盘上的当前位置移动到其他磁盘位置.由于每次启动 MSSQLSERVER 服务时都会重新创建 tempdb,因此不需要从物理意义上移动数据和日志文件. 迁移步骤: 1 确定 tempdb 数据库的逻辑文件名称以及在磁盘上的当前位置. SELECT name, physical_name FROM sy