SQL SERVER刪除文件組和文件


文件與文件組的刪除,如果因為以前的分區方案不合理,需要取消分區,或者按另外一種方式分區,就需要涉及到文件與文件組的刪除操作,如果沒有掌握正確步驟,有時候可能無法刪除,會提示你“文件不為空,無法刪除”或者“文件組不為空,不能刪除”等等,如果不知道技巧,會很郁悶!本人就曾經經歷過這樣的郁悶!在百度也沒找到正確答案。
    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 表示文件組名。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM