【SQLServer】Tempdb空間異常增長,空間佔用非常大
一、問題現象
我們一套量產SQLServer,在半夜的時候發出磁碟空間不足告警,我登上去檢查後,發現 tempdb 已經超過500GB。
二、原因解析
跟AP user溝通後,AP user告訴我們,由於AP邏輯出現問題,導致tempdb異常增長。
三、解決方法
1、如果可以重啟 SQL Server,tempdb 會自動重新建立,從而使 tempdb 迴歸到初始大小。但是量產環境儘量不要重啟,除非萬不得已。
2、直接收縮 tempdb(但是始終不成功)。
(1)命令
|
DBCC SHRINKFILE (N'templog.ldf' , 10) -- 收縮日誌到 10MB
GO
(2)圖形化介面
3、如果出現無法收縮tempdb的情況,可先使用以下方式處理,再收縮。
SQL Server 2005 及後續版本為了增強 tempdb 的效能,會快取一些 IAM 頁,以備將來重新使用這些頁面。在這種情況下,必須首先釋放 IAM 頁,才能釋放其對應的頁面。因此,通過 DBCC FREESYSTEMCACHE,從所有快取中釋放所有未使用的快取條目,然後再收縮 tempdb 。
|
DBCC FREESYSTEMCACHE 使用參考 -- https://docs.microsoft.com/zh-cn/sql/t-sql/database-console-commands/dbcc-freesystemcache-transact-sql
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30776559/viewspace-2149354/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer如何釋放tempdb臨時表空間SQLServer
- SQLServer行版本資訊吃資料庫tempdb空間SQLServer資料庫
- 如何使Xcode佔用更少的空間 Xcode佔用空間太大解決方法XCode
- AWR佔用sysaux表空間太大UX
- MacPro系統佔用空間太大Mac
- oracle表空間增長趨勢分析Oracle
- linux檢視mysql佔用磁碟空間LinuxMySql
- 檢視佔用磁碟空間的程式
- 解決Ubuntu虛擬機器佔用空間與實際空間不符問題Ubuntu虛擬機
- SQL Server 檢視錶佔用空間大小SQLServer
- [20230206]整理awr佔用空間3.txt
- PostgreSQL DBA(190) - 行大小和空間佔用SQL
- OGG相關的CPATURE導致SYSAUX表空間異常暴增處理UX
- MYSQL造資料佔用臨時表空間MySql
- 16、表空間 建立表空間
- dbms_space(分析段增長和空間的需求)
- win7系統空間佔用大是怎麼回事?win7系統空間佔用大的清理步驟Win7
- MySQL空間最佳化(空間清理)MySql
- 檢視資料庫佔用磁碟空間的方法資料庫
- Centos Linux 清理磁碟佔用空間:/dev/xvda1CentOSLinuxdev
- 常見顏色空間總結
- 【HotSpot】一個java物件佔多少空間HotSpotJava物件
- UNDO表空間空間回收及切換
- 當使用者無限制使用表空間配額且表空間有足夠空間時出現超出表空間的空間限額
- Oracle審計--AUD$佔用空間較大處理方案Oracle
- 世界空間到觀察空間的矩陣矩陣
- Elasticsearch 磁碟空間異常:一次成功的故障排除案例分享Elasticsearch
- onethink上傳到空間之後,runtime資料夾將空間佔滿如何解決
- mysql臨時表,臨時表空間,ibtmp1表空間暴增原因初探MySql
- Linux磁碟空間佔滿問題快速排雷Linux
- 檢視ELF中資料段哪些變數佔用空間變數
- Docker篇之Overlay2磁碟空間佔用過大清理Docker
- oracle 表空間Oracle
- PostgreSQL 表空間SQL
- 名稱空間
- 磁碟空間不足
- Oracle表空間Oracle
- PostgreSQL:表空間SQL
- 表空間利用率及表空間的補充