我的tempdb大小增長太多,因爲我們在數據庫中執行的事務太多。有人可以讓我知道如何在不重新啓動服務器的情況下縮小此tempdb。我曾嘗試DBCC SHRINKDATABASE,並沒有幫助SQL Server 2005 - 如何縮小tempdb
在此先感謝
我的tempdb大小增長太多,因爲我們在數據庫中執行的事務太多。有人可以讓我知道如何在不重新啓動服務器的情況下縮小此tempdb。我曾嘗試DBCC SHRINKDATABASE,並沒有幫助SQL Server 2005 - 如何縮小tempdb
在此先感謝
收縮的數據文件。從tempdb開始:
dbcc shrinkfile ('tempdev')
dbcc shrinkfile ('templog')
如果您有其他tempdb數據文件,您可能還需要縮小它們。你可以從系統數據字典中看到這個。查看「名稱」列。
select * from sys.database_files
你tempdb的是它需要的大小...
它只是將再次增長,只是更加零散的磁盤,並可能阻止雖然增長得。
更嚴重的是,你可以設置tempdb的大小soemthing理智和比現在稍大,關閉SQL,刪除舊文件,以110%的把握,再升啓動SQL Server ...
我發現縮減tempdb往往是一件麻煩的事情。
我以前使用的解決方案是將tempdb數據庫的初始大小設置爲數據庫的實際所需大小。然後重新啓動SQL Server服務將重新創建tempdb數據庫到這個確定的大小。
您也可能會發現下面的Microsoft參考是有用的閱讀:
即使「DBCC SHRINKFILE」你能收到像「DBCC SHRINKFILE警告:第1頁:878039不能因爲移動它是一個工作文件頁面。「導致不縮小。
我發現,很好地解釋這種情況,告訴如何解決辦法以及如何成功地tempdb收縮而無需重新啓動SQL一個博客: 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