Sql-Server

縮小 SQL Server 2008 Standard 數據庫以將其移動到 SQL Server 2014 Express

  • December 18, 2018

我需要使用 SSMS 縮小流行的 CRM 數據庫,以將其移動到新伺服器上。我將從 SQL Server 2008 Standard 升級到 SQL Server 2014 Express。數據庫處於簡單恢復模式。它需要低於 10 gig 的限制。

有 39% 的空間可以擦除,但收縮不起作用。在刪除不同表中的 100000 行後,我已經多次執行此操作,包括此數據庫,但這次它不想縮小。

沒有錯誤只是執行並且什麼都不做。

通常阻止我的數據文件被縮小的事情是需要一個檢查點。我不得不做幾次迭代:

CHECKPOINT;
GO
DBCC SHRINKFILE(...)
GO

在文件最終縮小之前。

如果數據文件仍未縮小,請嘗試此處的故障排除步驟以確認您確實擁有您認為擁有的可用空間。這是來自文件連結的查詢:

SELECT name ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;

嘗試以 100 MB 執行壓縮,

我手頭沒有我的程式碼,但創建了一個游標,該游標每次都會將總大小減少 100 MB。這應該有效,並允許您停止它並且不要失去任何工作。

引用自:https://dba.stackexchange.com/questions/225302