Sql-Server
SQLServer 拆分數據庫文件和文件組
我是一名軟體開發人員,但這個月我要做一些數據庫管理任務。我對如何拆分數據庫有一些知識空白,這是我的第一個方法:
- 表的文件組
- 非更改表的文件組
- 用於高數據表的文件組
- 文本和圖像的文件組
另外,我有一個 SAN,其中有一個用於事務日誌的 RAID1 磁碟和一個用於數據庫文件的 RAID6 磁碟。
我的問題是,使用這個數據庫配置,我必須為每個文件組創建一個文件嗎?文件組配置是否正確?有沒有性能洩漏?
提前致謝
這個數據庫有多大?它可能會看到多少流量?
我們的 SQL Server 數據庫都沒有達到需要一個以上的數據文件和一個日誌文件的地步。
正如 doug_w 所說,測試各種配置並查看它們的性能。但請記住,不要過分使維護變得更加困難,因為當簡單的平均值為 0.1 秒時,它會使您的平均響應時間快 10%。
編輯:在您發表評論後給出大小和使用者編號。我的感覺是,如何拆分數據將取決於他們都在做什麼。他們是否都將打到相同的幾張牌桌,或者他們都打到了大部分牌桌,還是相當隨機分佈?如果所有使用者都可能點擊同一張桌子,那麼無論是少數還是大多數。然後我的第一個測試配置是將數據全部放在一組磁碟上的一個文件中。顯然,雖然這只是一個開始,所以它仍然需要測試。
另外,剛剛注意到您說您已經有一個用於數據的 RAID 6。你能改變它嗎,就像製作 2 個單獨的數組一樣。如果所有文件都位於同一組主軸上,則將數據庫拆分為單獨的文件組不會獲得性能提升。如果您堅持使用一組磁碟,那麼跨文件組拆分數據庫的唯一原因是簡化維護。諸如備份之類的事情可以在文件組級別完成,因此如果您將所有經常更改的數據分組到一個文件組中,那麼您可以更頻繁地備份它,而不必備份大量靜態數據。
同樣,這確實取決於您的備份策略,如果您沒有非常緊迫的恢復期限,那麼您可能會對每晚的完整備份感到滿意,而只在白天記錄備份。