最新国产好看的视频,伊人天堂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ù)模式 改為簡(jiǎn)單模式

-- 查看數(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í)改為簡(jiǎn)單恢復(fù)模式(SIMPLE)
-- 簡(jiǎn)單模式下,事務(wù)日志會(huì)自動(dòng)截?cái)啵ㄔ跈z查點(diǎn)后清除不再需要的日志記錄),便于收縮日志文件
-- WITH NO_WAIT:表示如果無法立即執(zhí)行(如存在鎖定),不等待直接返回錯(cuò)誤(避免長(zhǎng)時(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ù)模式完整改為簡(jiǎn)單點(diǎn)擊確定。

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

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

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

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

收縮命令:

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

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)論

万源市| 郁南县| 黄山市| 柳江县| 金川县| 唐河县| 达州市| 卫辉市| 许昌县| 沈丘县| 甘洛县| 蒙城县| 页游| 扶风县| 防城港市| 崇阳县| 枣庄市| 尚义县| 什邡市| 衢州市| 临洮县| 宿松县| 巩留县| 舟山市| 苍溪县| 务川| 吉安县| 临潭县| 建宁县| 波密县| 天津市| 广安市| 古交市| 无棣县| 阿克苏市| 宜兴市| 日喀则市| 正镶白旗| 茌平县| 丰顺县| 饶河县|