1

因此,當我們升級到SQL Server 2008 R2時,我們中的一些開發人員開始接管我們的一些SQL Server框的管理。在過去,我們已經通過手動使用SQL Server 2008 R2日誌文件填滿驅動器

USE [databaseName] 
    GO 
    DBCC SHRINKFILE('databaseName_log', 1) 
    BACKUP LOG databaseName WITH TRUNCATE_ONLY 
    DBCC SHRINKFILE('databaseName_log', 1) 

減少日誌文件的大小,我相信大家都知道是怎麼截斷只已被棄用。

所以到目前爲止我發現的解決方案是設置恢復=簡單,然後收縮,然後將其設置回來......但是,這個人在我們到達那裏之前就離開了我們。

現在我們已經有了一個完整的磁盤,並且正在進行的鏡像被卡在一個半完成的,不斷出錯的狀態,我們無法更改任何數據庫。我們甚至無法在對象瀏覽器中打開其中的一半。

因此,從閱讀的角度來看,未來發生的這種方式是建立維護計劃。 (whoops。:/),但是雖然我們可以創建一個,但是我們無法在沒有磁盤空間的情況下啓動它,並且SQL Server仍然處於錯誤狀態(事件查看器顯示它每秒記錄約5次錯誤...這一直在進行自從昨晚起。)

任何人都有這方面的經驗?

回答

1

所以,你已經有了一個完美的惡劣環境風暴,因爲你已經達到了SQL Server無法啓動的地步。通常在這一點上,需要分離數據庫並將其移動到可用空間,但如果你無法做到這一點,就必須開始破解和重建。

如果您擁有最新的鏡像和備份,則需要在磁盤上放置一個不幸的數據庫,以使實例重新聯機。一旦你有足夠的空間,然後採取緊急措施,打破必要的鏡像,使日誌文件恢復到可管理的大小,並縮小它們。

以上是非常多的緊急恢復,您必須三重檢查您是否擁有備份,事務日誌備份和日誌,以便您不會丟失任何數據。

長期來管理您需要確保鏡像保持同步,正在進行完整和事務日誌備份的鏡像,並且可能會重新配置實例上的每個數據庫,其中最大文件大小是所有鏡像的總和日誌文件不會超過可用卷空間。

此外,我會仔細檢查您的系統數據庫與您的數據庫數據和日誌文件不在同一個捲上。這應該有助於在某個地方擁有完整音量時啓動實例。請注意,如果您不得不定期收縮日誌文件,那麼就存在一個需要解決的問題。

更新:如果一切都在C:驅動器上,則考慮減小頁面文件的大小以獲得足夠的空間來聯機實例。不知道你的設置在這裏。

+0

我沒有足夠的聲望點給這個讚許,但你是對的,謝謝。我擔心這是事情發展的方向,但我們確實有備份,一旦我們打破了鏡像,我們就可以充分減少文件大小......它們被設置爲完全備份,這是我們不需要的,所以我們正在制定維護計劃以減少所有這些......再次感謝! – Jon

+0

@Jon如果這回答了您的問題,您可以將其標記爲答案。請記住,如果您使用鏡像,您將被迫完全恢復,因此必須執行這些TLog備份。 – David