簡體   English   中英

SQL Server 2005-如何縮小tempdb

[英]SQL Server 2005 - how to shrink the tempdb

我的tempdb大小增長太多,因為我們在數據庫中執行了太多事務。 有人可以讓我知道如何在不重新啟動服務器的情況下縮小此tempdb。 我嘗試了DBCC SHRINKDATABASE,但沒有幫助

提前致謝

您的tempdb大小應為...

它會再次增長,甚至在磁盤上更加分散,甚至在增長時也會阻塞。

更嚴重的是,我將tempdb的大小設置為合理,並且比現在稍大一些,關閉SQL,以確保110%刪除舊文件,然后再次啟動SQL Server ...

我發現縮小tempdb通常是一項麻煩的任務。

我以前使用的解決方案是將tempdb數據庫的初始大小設置為數據庫的實際所需大小。 然后,重新啟動SQL Server服務將重新創建tempdb數據庫,使其達到此分隔大小。

您可能還會發現以下Microsoft參考對於閱讀很有幫助:

http://support.microsoft.com/kb/307487/en-gb

收縮數據文件。 從tempdb:

dbcc shrinkfile ('tempdev')

dbcc shrinkfile ('templog')

如果您有tempdb的其他數據文件,則可能還需要縮小它們。 您可以從系統數據字典中看到這一點。 在“名稱”列中查找。

select * from sys.database_files

即使使用“ DBCC SHRINKFILE”,您也會收到類似“ DBCC SHRINKFILE:頁面1:878039不能移動,因為它是工作文件頁面”的警告。 不會導致收縮。

我找到了一個博客,該博客很好地解釋了這種情況,並介紹了解決方法以及如何在不重新啟動SQL的情況下成功縮小tempdb的方法: http : //adventuresinsql.com/2009/12/how-to-shrink-tempdb-in-sql-2005/

因此,這是該博客的一個示例:

DBCC FREEPROCCACHE
GO
USE [tempdb]
GO
DBCC SHRINKFILE (N'tempdev')
GO
DBCC SHRINKDATABASE(N'tempdb')
GO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM