SQL Server 记录档的问题与解决方案 - 心得分享

DBA Bootcamp

几天前,oncall DBA 接到请求支援的电话,状况是这样的…

有一个 SQL Server 的储存空间已经快要用完了 (99% full),Server Admin 检查过後,判断可以增加储存空间,不过,先决条件是必须要 reboot 重新开机後,才可以使用新增加的储存空间。经过讨论後,因为有重要的资料库程序正在进行中,所以不希望在短时间内重新开机,因此想要看看 DBA 有没有什麽办法来处理这个问题。

仔细看了一下,发现其中一个资料库的 LDF (log file 记录档) 已经快要超过 500 GB 了,心里的如意算盘是只要简单地压缩并且释放记录档的空间就可以了。但是很无奈的,这个资料库的复原模式设定是 FULL (完整)。换句话说,SQL Server 会设法一直保护这个记录档,必须要等到交易纪录备份完成以後,才可以允许做压缩释放记录档的动作。又赶紧的检查了一下备份的历史纪录,得知这个资料库的交易纪录备份的程序,大概要30分钟才能完成。

根据这个状况,经过了第二波讨论後。没错,我们被告知没有办法再等30分钟,希望 DBA 能够运用一些 magic 来解决这个问题。是的,这就是 Production DBA 的日常。以下来谈谈 oncall DBA 如何运用 magic 来处理这件事情。

1.将资料库复原模式从 “完整” 更改为 “简单”。如此,SQL Server 才允许资料库的记录档压缩。

2.压缩记录档,并将可用的空间释放取回。大约取回 490 GB 可用的磁碟储存空间。

3.在这个时候,SQL server 资料库已经是处於正常运作而且可管理的状态了。

4.将资料库复原模式从 “简单” 更改回 “完整”。

5.立即进行 ”完整” 资料库备份。这个动作必须马上执行,确保资料库的资料备份。

6.安排设定更频繁的交易纪录备份排程。

终於,好不容易,可以找空档续杯咖啡,休息一下了。


<<:  [用 Python 解 LeetCode] (004) 277. Find the Celebrity

>>:  Python Flask 架站笔记 第3天 表单建立与资料库连接

大数据平台:讯息中介

讯息伫列(Message Queue)是大数据生态圈中不可或缺的中介软件,为资讯的生产者(Produ...

Day 17 -资料查询语言 CASE 关键字!

CASE 类似於程序语言里的 if/then/else 语句,用来作逻辑判断。 CASE 语法 (S...

[Python] 来自己建立一个Neural Network吧

前几天大概说明了NN的概念,今天就用python来实现一下~我主要是使用Colab来执行,因为在Co...

【Day20-填充】二维图片资料要怎麽做填充?

今天简单介绍一下在处理二维图片中算是偶尔会用到的工具——填充资料 沿着各种方向填充 这边以2d-ar...

AutoCAD ActiveX #5-2 Selection Filters (-4)

filtertype -4 Grouping code filterdata remarks &q...