2011-05-23 37 views
1

我從一個控制檯應用程序錯誤的SQL Server數據庫收縮命令

DBCC SHRINKFILE (@FILE_NAME_MDF, 0) WITH NO_INFOMSGS 
DBCC SHRINKFILE (@FILE_NAME_LDF, 0) WITH NO_INFOMSGS 

執行這些命令,並收到此錯誤

無法收縮XXX數據庫不能創建大小爲8126的行大於允許的最大行大小8060.該聲明已被終止。 System.Data.SqlClient.SqlException(0x80131904):無法創建大小812 6的行比的8060

可允許的最大行大小任何幫助將不勝感激更大。

回答

0

這聽起來像是你的問題在於你的數據庫中的一行接近最大允許大小的邊界,並且當運行DBCC SHRINKFILE時,它會向該行添加更多數據並將其超過限制。我會查看你的表格,看看是否有超過尺寸限制的表格,看看你是否不能改變它來存儲一些不合格的數據。例如,如果您有一個非常大的nvarchar字段,您可以將其更改爲TEXT,這將允許您將該數據存儲在其自己的頁面中。