91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于sql server日志變得超大的刪除解決辦法

發布時間:2020-07-08 15:48:26 來源:網絡 閱讀:3629 作者:arthur376 欄目:數據庫

    首先說說,這個sql server的日志,就是*log.ldf結尾的日志文件,他的日志體系結構其實挺嚴謹,原意是---如果你不做日志備份,就不給你刪日志,然后也有腳本給你回收日志空間,算是挺安全也方便實用了.

    看起來是挺合理的,但是碰到缺心眼的開發或使用者,日志一天天的脹大,而又忘記回收的話,那就悲催了,這個時候你就不可能備份了,然后就清空不了log.ldf日志,因為硬盤空間不夠用啊,不能備份也就不能刪日志,就成了個死循環了.

    我這邊就遇到這種事,日志被撐到170G了,硬盤總共才200G空間,怎么搞好呢?

    最后經過百度和google兩位幕后大師傅的指點,得到了下面的方法,僅供參考,因為也可能有些情況不太一致.

我們平常用的方法是直接收縮:

–SQL   Server收縮方法

最直接就是在sql server控制界面操作:

右鍵數據庫→任務→收縮數據庫→確定;


如果還是不理想,又或者試試這樣:

1、右鍵數據庫→屬性→選項→故障還原模型→設為簡單→確定;
2、右鍵數據庫→任務→收縮數據庫→確定;
3、右鍵數據庫→屬性→選項→故障還原模型→設為大容量日志記錄→確定。


再不行,就要用下面的方法了:

首先我們看看日志當前的狀態,

DBCC LOGINFO(test9572)

可以看到status=0的日志,代表已經備份到磁盤的日志文件;而status=2的日志還沒有備份。當收縮日志文件時,收縮掉的空間其實就是 status=0的空間,如果日志物理文件無法減小,這里一定能看到非常多status=2的記錄。

然后我們看看日志截斷延遲原因,

SELECT [name] ,[database_id] ,[log_reuse_wait] ,[log_reuse_wait_desc] FROM [sys].[databases];

各種原因及解釋如下:

log_reuse_wait_desc 值

NOTHING    當前有一個或多個可重復使用的虛擬日志文件。

CHECKPOINT    自上次日志截斷之后,尚未出現檢查點,或者日志頭部尚未跨一個虛擬日志文件移動(所有恢復模式)。

這是日志截斷延遲的常見原因。

LOG_BACKUP    需要日志備份,以將日志的頭部前移(僅適用于完整恢復模式或大容量日志恢復模式)。

注意:日志備份不會妨礙截斷。

完成日志備份后,日志的頭部將前移,一些日志空間可能變為可重復使用。

ACTIVE_BACKUP_OR_RESTORE    數據備份或還原正在進行(所有恢復模式)。數據備份與活動事務的運行方式相同。數據備份在運行時,將阻止截斷。

ACTIVE_TRANSACTION    事務處于活動狀態(所有恢復模式)。一個長時間運行的事務可能存在于日志備份的開頭。在這種情況下,可能需要進行另一個日志備份才能釋放空間。

看完了狀態,我的問題也是這個LOG_BACKUP,日志沒備份導致,也就是開頭說的死循環,因為硬盤空間不夠用啊,不能備份也就不能刪日志,就成了個死循環了

總有解決辦法,辦法的原理是在簡單模式下進行,等清除動作完畢再調回到完全模式,下面來看:

首先,我們要確認日志的文件名,因為硬盤上的文件名不一定是數據字典里面的文件名,所以要確認下

USE test9572
GO
SELECT file_id,name FROM sys.database_files;
GO

然后就可以準備刪了:

USE [test9572]
GO
ALTER DATABASE test9572 SET RECOVERY SIMPLE WITH NO_WAIT
GO
--簡單模式
ALTER DATABASE test9572 SET RECOVERY SIMPLE 
GO
USE test9572
GO
DBCC SHRINKFILE (N'test9572_log' , 11, TRUNCATEONLY) 
GO
USE [test9572]
GO
ALTER DATABASE test9572 SET RECOVERY FULL WITH NO_WAIT
GO
--還原為完全模式
ALTER DATABASE test9572 SET RECOVERY FULL 
GO

刪完可以看看硬盤空間,一切都變好了,


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仪征市| 洛隆县| 信宜市| 桦南县| 涞源县| 额济纳旗| 临清市| 武隆县| 色达县| 安多县| 斗六市| 成都市| 太谷县| 陆川县| 古丈县| 中超| 上思县| 舒兰市| 三亚市| 乐安县| 达孜县| 延寿县| 青州市| 凤庆县| 铜山县| 九龙县| 云龙县| 射洪县| 沙田区| 邯郸市| 武乡县| 邳州市| 嘉荫县| 元氏县| 桃园市| 故城县| 隆子县| 许昌市| 静安区| 工布江达县| 渑池县|