2016年10月17日 星期一
2016年10月14日 星期五
1010: [SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗
1010: [SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗: 背景: 公司最近把一套每天有相對大量交易 (之前公司更大很多很多倍) 的系統轉移到SQL Server去,不到一個月交易檔(ldf)已經貼近數據檔(mdf)的size,真的好可怕啊。 身為SQL Server的DBA當然 要替月行道,警惡懲奸 不能讓這種情況繼續下去...
2016年10月11日 星期二
德瑞克:SQL Server 學習筆記: 縮小 壓縮 交易記錄檔 (Shrink Transaction Log);以使用 SQL Se...
德瑞克:SQL Server 學習筆記: 縮小 壓縮 交易記錄檔 (Shrink Transaction Log);以使用 SQL Se...: 若您的資料庫因故造成交易記錄檔(Transaction Log,*.ldf)遠大於,資料檔案(例如:*.mdf)時,請參考下圖所示: 資料檔案才 10 MB,但是交易記錄檔卻已經成長為 1 GB。 那要如何 縮小 壓縮 交易記錄檔呢? 本文以使用 SQL S...
SQL LDF檔案過大解決方法! 幫LDF檔減肥很簡單!
資料來源
在某個機會裡拿到朋友給的sql備份檔(.bak),還原後發現我電腦硬碟空間突然少了60g多,後來找到原因是sql備份檔的ldf檔案肥大所造成!! 實在太可恥了!一個ldf檔要佔掉我60g多的碟硬空間!明明它就可以被減肥的!
請依下列指令進行, 你可以把下列指令全都存成一個 .sql檔案備用。
1.把資料庫改成 simple模式.
從 SQL Server Management Studio 請在你的資料庫上用滑鼠點右鍵 => 最下方看到 "屬性" => 然後點到 "選項"
接著右方下拉式選單把 "復原"模式 改選成 "簡單" 模式。
2.打開指令視窗, 輸入以下指令: (你可copy貼上,請別忘記改資料庫名稱)
USE 資料庫名稱 GO
DBCC SHRINKFILE('資料庫名稱_Log',2)
上面的指令紅色的文字請改成你要減肥的資料庫名稱。然後run這個指令。
3.接著回到第一步驟,把剛才改成 "簡單" 模式改回 "完整"模式
完成!
你可以看到你的LDF檔減肥成功!
(若你在sql server裡有設定系統定時備份,建議你設定每隔一段時間壓縮資料庫,避免LDF檔再度肥大。)
請copy以下程式碼, [按新增查詢] 貼到指令區,改好資料庫檔名,Run它!!
不到十秒就能減肥成功!
程式碼copy區 (不包含等於符號)
==============================================
ALTER DATABASE 資料庫名稱 SET RECOVERY simple
use 資料庫名稱 go dbcc shrinkfile('資料庫名稱_log',2) ALTER DATABASE 資料庫名稱 SET RECOVERY FULL
=============================================
以上~~
在某個機會裡拿到朋友給的sql備份檔(.bak),還原後發現我電腦硬碟空間突然少了60g多,後來找到原因是sql備份檔的ldf檔案肥大所造成!! 實在太可恥了!一個ldf檔要佔掉我60g多的碟硬空間!明明它就可以被減肥的!
請依下列指令進行, 你可以把下列指令全都存成一個 .sql檔案備用。
1.把資料庫改成 simple模式.
從 SQL Server Management Studio 請在你的資料庫上用滑鼠點右鍵 => 最下方看到 "屬性" => 然後點到 "選項"
接著右方下拉式選單把 "復原"模式 改選成 "簡單" 模式。
2.打開指令視窗, 輸入以下指令: (你可copy貼上,請別忘記改資料庫名稱)
USE 資料庫名稱 GO
DBCC SHRINKFILE('資料庫名稱_Log',2)
上面的指令紅色的文字請改成你要減肥的資料庫名稱。然後run這個指令。
3.接著回到第一步驟,把剛才改成 "簡單" 模式改回 "完整"模式
完成!
你可以看到你的LDF檔減肥成功!
(若你在sql server裡有設定系統定時備份,建議你設定每隔一段時間壓縮資料庫,避免LDF檔再度肥大。)
其實......... 我很懶, 所以我教你一個懶人方法,十秒鏡就可幫LDF減肥~
請copy以下程式碼, [按新增查詢] 貼到指令區,改好資料庫檔名,Run它!!
不到十秒就能減肥成功!
程式碼copy區 (不包含等於符號)
==============================================
ALTER DATABASE 資料庫名稱 SET RECOVERY simple
use 資料庫名稱 go dbcc shrinkfile('資料庫名稱_log',2) ALTER DATABASE 資料庫名稱 SET RECOVERY FULL
=============================================
以上~~
訂閱:
文章 (Atom)