收缩SQL Server数据库日志文件.doc

上传人:11****ws 文档编号:3767895 上传时间:2019-07-13 格式:DOC 页数:4 大小:38KB
下载 相关 举报
收缩SQL Server数据库日志文件.doc_第1页
第1页 / 共4页
收缩SQL Server数据库日志文件.doc_第2页
第2页 / 共4页
收缩SQL Server数据库日志文件.doc_第3页
第3页 / 共4页
收缩SQL Server数据库日志文件.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、ldf 文件过大 如何收缩 SQL Server 数据库日志 Ldf 文件总结:其实也就是两个指令就可以完成了 BACKUP LOG DateBaseName WITH TRUNCATE_ONLY DBCC ShrinkDatabase(DateBaseName) -最好备份日志,以后可通过日志恢复数据,以下为日志处理方法:一般不建议做第 4,6 两步,第 4 步不安全,有可能损坏数据库或丢失数据,第 6 步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复。-下面的所有库名都指你要处理的数据库的库名1清空日志DUMP TRANSACTION 库名 WITH NO_LOG2截断事

2、务日志:BACKUP LOG 库名 WITH NO_LOG3收缩数据库文件(如果不压缩,数据库的文件不会减小)企业管理器-右键你要压缩的数据库- 所有任务-收缩数据库- 收缩文件-选择日志文件 -在收缩方式里选择收缩至 XXM,这里会给出一个允许收缩到的最小 M 数,直接输入这个数,确定就可以了。-选择数据文件 -在收缩方式里选择收缩至 XXM,这里会给出一个允许收缩到的最小 M 数,直接输入这个数,确定就可以了。也可以用 SQL 语句来完成 -收缩数据库DBCC SHRINKDATABASE(库名)-收缩指定数据文件,1 是文件号,可以通过这个语句查询到:select * from sysf

3、ilesDBCC SHRINKFILE(1)4为了最大化的缩小日志文件(如果是 sql 7.0,这步只能在查询分析器中进行)a分离数据库 :企业管理器 -服务器-数据库-右键-分离数据库b在我的电脑中删除 LOG 文件c附加数据库 。企业管理器 -服务器-数据库-右键-附加数据库此法将生成新的 LOG,大小只有 500 多 K或用代码: 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。a分离:EXEC sp_detach_db dbname = 库名b删除日志文件c再附加: EXEC sp_attach_single_file_db dbname = 库名, phys

4、name = c:Program FilesMicrosoft SQL ServerMSSQLData库名.mdf5为了以后能自动收缩,做如下设置:企业管理器-服务器- 右键数据库 -属性-选项-选择 “自动收缩“-SQL 语句设置方式:EXEC sp_dboption 库名, autoshrink, TRUE6如果想以后不让它日志增长得太大企业管理器-服务器- 右键数据库 -属性-事务日志 -将文件增长限制为 xM(x 是你允许的最大数据文件大小)-SQL 语句的设置方式:alter database 库名 modify file(name=逻辑文件名,maxsize=20)-首先,用下面的

5、语句 ,检查/修复数据库/并整理索引碎片(需要比较长的时间,请在系统空闲时进行此工作) USE MASTER GO sp_dboption 你的数据库名, single user, true Go DBCC CHECKDB(你的数据库名, REPAIR_REBUILD) Go USE 你的数据库名 go exec sp_msforeachtable DBCC CHECKTABLE(?,REPAIR_REBUILD)exec sp_msforeachtable DBCC DBREINDEX(?) go sp_dboption 你的数据库名, single user, false Go -然后用这

6、个压缩数据库日志文件.SET NOCOUNT ONDECLARE LogicalFileName sysname,MaxMinutes INT,NewSize INT-Select * From SysfilesUSE YSERP - 要操作的数据库名SELECT LogicalFileName = YSERP_Log , - 日志文件名MaxMinutes = 10, - Limit on time allowed to wrap log.NewSize = 20 - 你想设定的日志文件的大小(M)- Setup / initializeDECLARE OriginalSize intSEL

7、ECT OriginalSize = sizeFROM sysfilesWHERE name = LogicalFileNameSELECT Original Size of + db_name() + LOG is +CONVERT(VARCHAR(30),OriginalSize) + 8K pages or +CONVERT(VARCHAR(30),(OriginalSize*8/1024) + MB FROM sysfilesWHERE name = LogicalFileNameCREATE TABLE DummyTrans(DummyColumn char (8000) not n

8、ull)DECLARE Counter INT,StartTime DATETIME,TruncLog VARCHAR(255)SELECT StartTime = GETDATE(),TruncLog = BACKUP LOG + db_name() + WITH TRUNCATE_ONLY DBCC SHRINKFILE (LogicalFileName, NewSize)EXEC (TruncLog)- Wrap the log if necessary.WHILE MaxMinutes DATEDIFF (mi, StartTime, GETDATE() - time has not/*expired*/ AND OriginalSize = (SELECT size FROM sysfiles WHERE name =LogicalFileName) AND (OriginalSize * 8 /1024) NewSizeBEGIN - Outer loop.SELECT Counter = 0WHILE (Counter 所有任务-压缩数据库- 压缩文件-文件-压缩到最终大小-输入最小值即可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。