文件與文件組的刪除,如果因為以前的分區方案不合理,需要取消分區,或者按另外一種方式分區,就需要涉及到文件與文件組的刪除操作,如果沒有掌握正確步驟,有時候可能無法刪除,會提示你“文件不為空,無法刪除”或者“文件組不為空,不能刪除”等等,如果不知道技巧,會很郁悶!本人就曾經經歷過這樣的郁悶!在百度也沒找到正確答案。
1、 文件的刪除:首先要先清空文件里的數據,刪除之前數據一定要記得先備份,可將數據復制到其他表,然后執行:
DBCC SHRINKFILE (FileName, EMPTYFILE);
文件中的內容刪除后,再執行刪除文件命令,DataBaseName表示數據名,FileName 表示文件名:
ALTER
DATABASE
[DataBaseName] REMOVE FILE FileName;
2、文件組的刪除:
當文件組的文件被刪除后,按正常理解,應該就可以直接刪除文件組,實際是不行的,你無法刪除文件組。
因為還有幾個東西依賴文件組,一是分區方案,二是使用該分區方案的分區表。
所以要刪除分區方案才能刪除文件組。但要刪除分區方案之前要先更改依賴它的分區表,使其不依賴它。
這個主要是更改分區表的分區列,使其不使用分區方案,如果實在不會更改,在表里數據已經備份的前提下,可以直接刪除表來解決。
然后再刪除分區表方案,最后就可以直接刪除文件組了。
總結前面的刪除過程:
1、修改分區表,使其不依賴分區方案。
2、刪除分區方案(依賴要刪除的文件組)。
DROP
PARTITION SCHEME [Part_func_scheme_Name]
3、直接刪除文件組。
ALTER
DATABASE
[DataBaseName] REMOVE FILEGROUP [FGName]
DataBaseName表示數據名,FGName 表示文件組名。