惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
C
Check Point Blog
博客园_首页
MongoDB | Blog
MongoDB | Blog
N
Netflix TechBlog - Medium
F
Full Disclosure
Microsoft Security Blog
Microsoft Security Blog
爱范儿
爱范儿
Recent Announcements
Recent Announcements
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
V
Vulnerabilities – Threatpost
K
Kaspersky official blog
博客园 - 司徒正美
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Cisco Talos Blog
Cisco Talos Blog
Know Your Adversary
Know Your Adversary
雷峰网
雷峰网
V
V2EX - 技术
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Spread Privacy
Spread Privacy
罗磊的独立博客
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
O
OpenAI News
Jina AI
Jina AI
PCI Perspectives
PCI Perspectives
Cyberwarzone
Cyberwarzone
Y
Y Combinator Blog
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed
I
InfoQ
D
Docker
P
Palo Alto Networks Blog
Recorded Future
Recorded Future
M
MIT News - Artificial intelligence
博客园 - Franky
B
Blog
Scott Helme
Scott Helme
博客园 - 叶小钗
D
DataBreaches.Net

博客园 - strayromeo

windows下创建文件夹链接 windows的虚拟磁盘(vhd,vhdx)使用 备注下Windows可能会用到的运行命令 转:SQL Server服务器名称与默认实例名不一致的修复方法 mac下初始化eclipse的安卓开发ndk开发环境 eclipse android ndk 提示Type 'JNIEnv' could not be resolved 等信息解决办法 eclipse ndk 配置和简单开发demo ubuntu15.10运行android studio出错unable to run mksdcard sdk tool Pavilion M4-1016TX 加装固态硬盘(SSD)+UEFI+GPT安装WIN8.1 redis 内存库设置 教你怎么解决64位Windows版Redis狂占C盘的问题. MSSQL数据库分区表 如何将桌面的路径定义到其它盘符,如d:\users\桌面 - strayromeo - 博客园 sqlserver数据库脱机时发生异常:由于无法在数据库 'SMS' 上放置锁,ALTER DATABASE 失败。请稍后再试。 ALTER DATABASE 语句失败。 (.Net SqlClient Data Provider) - strayromeo JAVA代码反编译笔记 SQLServer—系统中的内存配置 .net remoting 客户端与服务端绑定事件,一部电脑当服务器,另一部当客户端,发布后没法接收远程错误信息。 - strayromeo Java Socket 模拟HTTP请求 - strayromeo HString类替代系统string,内部采用StringBuilder拼接,减少string+操作时对象的创建。 Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决 - strayromeo
SQL2008R2 收缩数据库问题 - 日志文件不变小
strayromeo · 2017-06-08 · via 博客园 - strayromeo

数据库的日志文件(*.ldf)越来越大,怎么办?

  收缩吧。收缩日志文件的操作真不简单哟,还跟数据库的恢复模式有关啊。

一、“简单恢复模式”时的日志收缩

1. 截断日志

  当数据库的恢复模式为“简单”的时候,日志文件会在以下情况被截断: (1)完整备份

(2)遇到检查点(checkpoint)

2. 手动收缩日志文件

  当日志被截断后,日志文件的内部空间就会标记为“可复用”,因此日志文件就不需要持续增长。关于日志文件空间状态的解释,详见 http://jimshu.blog.51cto.com/3171847/1174474 

  手动收缩日志文件的操作可以参考本文稍后的说明。

二、“完整恢复模式”时的日志收缩

  在完整恢复模式下,对数据进行完整备份或者遇到检查点,都不会对日志造成影响。因此,可能会导致日志文件不能被截断,也就是说,这些空间不能被循环使用。于是,日志文件将持续增长,甚至直逼硬盘空间的极限。此时,即使手动收缩日志文件,也不会减小文件空间,因为空间都被占用着。

  注意:“大容量日志恢复模式”与“完整恢复模式”的日志处理方法一致。

1. 确认恢复模式

  以下是使用 SQL Server Management Studio 检查数据库的恢复模式。

 

2. 完整备份

  日志备份之前,必须做过完整备份。

 

注意:不要勾选“仅复制备份”选项。“仅复制备份”不会影响日志。

3. 事务日志备份

  做过完整备份之后,可以随时进行事务日志备份。

 

默认的选项,是备份后截断事务日志。

 

注意:有很多情况会阻止日志截断,没有备份事务日志只是其中一种情况,也是最常见的情况。

4. 手动收缩日志文件

  做过日志备份之后,日志被截断,大量空间被标记为“可复用”。一般情况下,这时候就可以进行“收缩文件”操作,以将“可复用”的空间从日志文件中移出,从而减小日志文件。

 

三、非官方的操作方法

1、临时改用简单恢复模式

  临时改为简单恢复模式,然后做一次完整备份,或者运行checkpoint执行检查点。当日志被截断后,再收缩日志文件,最后再改回完整恢复模式。

  甚至,在简单恢复模式时,可以直接修改日志文件的“初始大小”,改成一个很小的数值即可(系统会自动将日志文件收缩到可能的最小值)。

 

注意:改回完整恢复模式后,请务必立即做一次完整备份。

2、with no_log选项

  在旧版本里,可以使用 BACKUP LOG WITH NO_LOG,或者 WITH TRUNCATE_ONLY。但是,SQL Server 2008 已经删除了这些选项。

3、分离后再附加

  分离这个数据库,然后删除日志文件。然后重新附加这个数据库,SQL Server 就会警告丢失了日志文件,如果忽略这个警告,系统会自动创建一个空的日志文件。 注意:可能会丢失部分数据,详见《丢失日志文件的风险与对策》 http://jimshu.blog.51cto.com/3171847/1341289