iT邦幫忙

0

sql server 2008 db 在D槽快滿了

您好

請問一下, 目前我的sql server 2008 D槽快滿了, 我可以detach 到E 槽去, 可是這個DB本身有訂閱複制, 這樣還可以進行嗎, 會不會要重新訂閱?

我看了一下log總共可以清出100G, 撐不了多久的

CalvinKuo iT邦大師 7 級 ‧ 2020-08-26 09:51:47 檢舉
該不會是SQL交易紀錄檔沒清吧....
雷伊 iT邦高手 1 級 ‧ 2020-08-26 10:01:38 檢舉
CalvinKuo前輩說的是正解,清完交易檔後還是不夠請先異機備份DB,若是虛擬機可以熱調整磁碟大小,實體機等假日加班來搞你現在要做的事。
能把空間吃光的SQL資料庫也算是厲害了,用DBCC語法把LOG處理一下吧,通常可以清出一大片的空間出來

1 個回答

5
japhenchen
iT邦超人 1 級 ‧ 2020-08-26 11:10:54

這是我的做法...這我平均半年才做一次,log很佔空間,如果你們不常用或不曾用交易記錄復原的話,是可以縮減體積,省的常常煩惱空間不足的問題

yourdatabase自己改一下,要在下班沒人用系統時執行,建議執行前先做異地備份
需有sa或 db_owner 權限

use master
ALTER DATABASE yourdatabase SET RECOVERY SIMPLE WITH NO_WAIT
use yourdatabase
DBCC SHRINKFILE('yourdatabase_Log', 10)  -- 請自行查出log檔的檔名
看更多先前的回應...收起先前的回應...
sam0407 iT邦高手 1 級 ‧ 2020-08-27 09:26:55 檢舉

作完SHRINKFILE要將復原模式改回來吧?
ALTER DATABASE yourdatabase SET RECOVERY FULL;

如果未曾用過或根本不會做交易復原,我就保持SIMPLE MODE了(個人判斷),反正公司都是用備份復原,留交易記錄根本沒意義

完整復原模式會讓LOG長的很快,自行決定囉

sam0407 iT邦高手 1 級 ‧ 2020-08-27 11:44:21 檢舉

嗯,反正壓縮LOG檔的動作我是設定排程在作,也就大概佔那一點空間。所以我個人建議重要的資料庫還是要改回來FULL,就算十年只用到一次交易復原都值得,有備無患嘛~

我要發表回答

立即登入回答