最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL?Server日志文件無法收縮的解決方法

 更新時(shí)間:2025年11月12日 10:04:34   作者:伯恩bourne  
正常情況下,不要輕易的收縮日志文件,但是日積月累,日志文件太大,造成硬盤空間不足,不得已去收縮時(shí),卻發(fā)現(xiàn)收縮不了,那是因?yàn)樵谶€原的完整模式下活動(dòng)事務(wù)一直使用日志,所以無法收縮,因此本文給大家介紹了SQL?Server日志文件無法收縮的解決方法,需要的朋友可以參考下

前言

正常情況下,不要輕易的收縮日志文件,但是日積月累,日志文件太大,造成硬盤空間不足,不得已去收縮時(shí),卻發(fā)現(xiàn)收縮不了,那是因?yàn)樵谶€原的完整模式下活動(dòng)事務(wù)一直使用日志,所以無法收縮。
可以通過以下步驟:

第一步,查詢?nèi)罩拘畔?可省略)

SELECT 
    name AS 日志文件邏輯名,  --這個(gè)就是邏輯名,有的時(shí)候邏輯名和我們看到的文件名不一樣
    physical_name AS 物理路徑,
    size * 8.0 / 1024 AS 當(dāng)前大小MB
FROM sys.database_files 
WHERE type_desc = 'LOG';

第二步,強(qiáng)制提交事務(wù),并將 恢復(fù)模式 改為簡單模式

-- 查看數(shù)據(jù)庫中活躍的事務(wù)信息,用于檢查是否有未提交的事務(wù)(可能阻止日志收縮)
-- 語法:DBCC OPENTRAN (數(shù)據(jù)庫名稱),會(huì)顯示最早的活動(dòng)事務(wù)、未分發(fā)的事務(wù)等信息
DBCC OPENTRAN (databaseName);  


-- 執(zhí)行檢查點(diǎn)操作,強(qiáng)制將內(nèi)存中已提交的事務(wù)日志從緩存寫入磁盤
-- 作用:減少日志文件中的活躍內(nèi)容,為后續(xù)收縮做準(zhǔn)備(確保已提交數(shù)據(jù)持久化)
CHECKPOINT;


-- 將數(shù)據(jù)庫恢復(fù)模式臨時(shí)改為簡單恢復(fù)模式(SIMPLE)
-- 簡單模式下,事務(wù)日志會(huì)自動(dòng)截?cái)啵ㄔ跈z查點(diǎn)后清除不再需要的日志記錄),便于收縮日志文件
-- WITH NO_WAIT:表示如果無法立即執(zhí)行(如存在鎖定),不等待直接返回錯(cuò)誤(避免長時(shí)間阻塞)
ALTER DATABASE databaseName SET RECOVERY SIMPLE WITH NO_WAIT;

第三步,開始收縮

-- 收縮指定的數(shù)據(jù)庫日志文件
-- 語法:DBCC SHRINKFILE (日志文件邏輯名, 目標(biāo)大小, 收縮方式)
DBCC SHRINKFILE (
    N'database_log',  -- 日志文件的邏輯名稱(需與數(shù)據(jù)庫中定義的一致,可通過sys.database_files查詢)
    200,              -- 收縮后的目標(biāo)大?。▎挝唬篗B)
    TRUNCATEONLY      -- 僅截?cái)辔词褂玫娜罩究臻g(不移動(dòng)數(shù)據(jù)頁,效率高,僅適用于日志文件)
);


-- 收縮整個(gè)數(shù)據(jù)庫的數(shù)據(jù)文件和日志文件(通常在收縮日志后補(bǔ)充,進(jìn)一步釋放空間)
-- 語法:DBCC SHRINKDATABASE (數(shù)據(jù)庫名稱),會(huì)嘗試收縮所有文件至最小可能大?。ㄊ軘?shù)據(jù)分布影響)
DBCC SHRINKDATABASE(N'數(shù)據(jù)庫名稱');  
GO  -- 批處理分隔符,分隔前后語句的執(zhí)行批次

第四步,恢復(fù)數(shù)據(jù)庫的 完整恢復(fù)模式

-- 將數(shù)據(jù)庫恢復(fù)模式改回完整恢復(fù)模式(FULL)
-- 完整模式下,日志會(huì)記錄所有事務(wù)細(xì)節(jié),支持時(shí)間點(diǎn)恢復(fù)(生產(chǎn)環(huán)境通常需要此模式)
-- WITH NO_WAIT:同上,不等待直接執(zhí)行或返回錯(cuò)誤
ALTER DATABASE databaseName SET RECOVERY FULL WITH NO_WAIT;

SQL server數(shù)據(jù)庫日志文件收縮方法

1、首先打開數(shù)據(jù)庫,選擇需要收縮日志文件的數(shù)據(jù)庫右鍵選擇屬性點(diǎn)擊選項(xiàng)將恢復(fù)模式完整改為簡單點(diǎn)擊確定。

2、右擊數(shù)據(jù)庫選擇收縮文件

3、選擇收縮日志,更改想要收縮到的大小點(diǎn)擊確定

4、收縮完成后將恢復(fù)模式改回完整

此時(shí)數(shù)據(jù)庫日志文件將收縮到規(guī)定大小

收縮命令:

-- 將數(shù)據(jù)庫恢復(fù)模式更改為簡單

ALTER DATABASE [ZiDanDataBase]  
SET RECOVERY SIMPLE;  
GO 
-- 收縮日志到1G
DBCC SHRINKFILE (N'ZhiDan_log', 1024);
GO
-- 將數(shù)據(jù)庫恢復(fù)模式更改為完整
ALTER DATABASE [ZiDanDataBase]  
SET RECOVERY FULL;  
GO

以上就是SQL Server日志文件無法收縮的解決方法的詳細(xì)內(nèi)容,更多關(guān)于SQL Server日志文件無法收縮的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

丰顺县| 贵德县| 泾源县| 勐海县| 华坪县| 麦盖提县| 汝阳县| 且末县| 千阳县| 锡林郭勒盟| 五原县| 汾西县| 锡林浩特市| 依安县| 柘城县| 尤溪县| 松江区| 新巴尔虎右旗| 石屏县| 广州市| 分宜县| 右玉县| 精河县| 福泉市| 栾川县| 赤峰市| 沾益县| 荣昌县| 德惠市| 吉隆县| 砀山县| 库车县| 沂南县| 同心县| 新建县| 桑日县| 濮阳县| 镇巴县| 宁化县| 青神县| 新绛县|