sqlserver将mdf文件拆分成多个ndf文件
sqlserver版本:2008R2?
1、為什么要拆分
數據庫在運行一段時間后mdf文件會迅速增大,這會導致查詢速度變慢。或者mdf文件的大小達到了操作系統允許的最大大小,這個時間就必須要進行拆分了。
2、拆分的好處
在沒有拆分的時候只有一個mdf主數據文件,這個文件放在一個硬盤上。數據庫的IO基本都集中這個硬盤上,這會對硬盤的IO造成壓力,影響數據庫的性能。
拆分成多個文件后,我們可以將ndf文件放在其他硬盤上,以此來分擔主數據庫文件所在硬盤的IO壓力。
所以在拆分的時候最好將ndf文件放在另一塊硬盤上。
3、拆分步驟
在SSMS界面上選中數據庫,右鍵,點擊屬性,切換到文件組。點擊添加文件組,填寫文件組名,比如MyGroup1,點擊確定,文件組就建好了。
然后切換到文件選項卡,點擊添加,自己填寫邏輯名和后面的文件名,注意文件名的后綴是.ndf。
文件組選擇剛才添加的文件組,路徑可以自己選擇,點擊確定,文件就建好了。
接下來就是要把表數據遷移到新添加的文件中。
在修改表所屬的文件組之前,我們先來看一下這個表目前所屬的文件組。選中一個表,右鍵,點擊屬性,切換到存儲,可以看到文件組顯示的是PRIMARY。
?現在我們要修改這個表所屬的文件組。執行下面的語句:
ALTER TABLE 你的表名 DROP CONSTRAINT 表主鍵名 ALTER TABLE 你的表名 ADD CONSTRAINT 表主鍵名 PRIMARY KEY (主鍵字段名) ON 文件組名執行完成后,再看一下表的所屬文件組,如果顯示的是你剛才添加的文件組,那么表的所屬文件組就修改成功了。
這個時候你再看一下新添加的文件,文件的大小應該增加了,但是mdf文件的大小應該沒有改變。這時需要再執行數據庫收縮語句:
dbcc SHRINKDATABASE([數據庫名])執行完成后,mdf文件的大小應該就改變了。
如果你要修改多個表的所屬文件組,那最好等所有表的文件組修改完成后再執行數據庫收縮。
總結
以上是生活随笔為你收集整理的sqlserver将mdf文件拆分成多个ndf文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 4、配置虚拟局域网技术
- 下一篇: 西部数码服务器不稳定,西部数码弹性云服务