SQL Server如何刪除多餘tempDB檔案

來源:互聯網
上載者:User

標籤:file   使用方式   span   不能   現象   臨時檔案   select   server   current   

某時,建立了多個tempDB檔案,已經超過了伺服器核心數,現象刪除tempDB檔案,使其保持與CPU核心數相同。但是在刪除的時候,發現無法刪除,報出錯誤:無法刪除檔案“tempdev3”,因為它不可為空(Microsoft SQL Server,錯誤:5042)

  

  此時,使用指令碼查看資料和記錄檔使用方式:

SELECT DB_NAME() AS DbName,name AS FileName,size/128.0 AS CurrentSizeMB,size/128.0 - CAST(FILEPROPERTY(name, ‘SpaceUsed‘) AS INT)/128.0 AS FreeSpaceMBFROM sys.database_files;

   

  可以看到tempdev3這個檔案已經被佔用了一部分空間,在實際生產中,可能每個檔案都會被佔用,這裡只做實驗用。

  面對這種情況,就需要對tempdb中tempdev3這個檔案進行收縮,在收縮前,需要確保此檔案裡不會有暫存資料表等臨時檔案,因此需要將這些全部刪除之後再進行收縮,收縮指令碼:

USE tempdbGODBCC SHRINKFILE (tempdev3, EMPTYFILE); -- to empty "tempdev3" data fileGO   收縮完畢之後,將該檔案刪除,指令碼如下:ALTER DATABASE tempdbREMOVE FILE tempdev3; --to delete "tempdev3" data fileGO   以上就完全刪除了tempdb中多餘的檔案。

 

SQL Server如何刪除多餘tempDB檔案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.