1

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

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。

任何帮助将不胜感激。

4

1 回答 1

0

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

于 2011-05-23T19:39:40.980 回答