sql server database shrink命令出错

时间:2011-05-23 19:15:30

标签: sql-server dbcc shrink

我正在从控制台应用程序执行这些命令

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。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这听起来像你的问题是数据库中的一行接近最大允许大小的边缘,并且当运行DBCC SHRINKFILE时,它会向该行添加更多数据并将其推到限制之上。我会查看你的表,看看是否有一个超过大小限制的表,看看你是否不能改变它来存储一些行数据。例如,如果您有一个非常大的nvarchar字段,您可以将其更改为TEXT,这将允许您将该数据存储在自己的页面中。