我們在我們的數據庫中的表收到此錯誤的最大允許更大:不能創建大小8937的一排,比8060
不能創建大小8937的一排是超過了允許更大 最大值8060.
該表由約400個varchar(max)
字段組成。但是,我們只在這些字段中插入空字符串。
該插入似乎工作,但是當使用SqlXml
讀取數據或在表的主鍵上運行DBCC DBREINDEX
時,會發生錯誤。
它只出現在一個特定的SQL Server (2005)
而不是其他人(2005 Express)上。問題機正在運行64-bit Windows
,其他問題機正在運行32-bit windows
。
有沒有人對此有過任何想法?請讓我知道是否需要包含更多信息。
看了一些您的回答,我想指出,我完全同意,這是比較極端的,不尋常的,而不是在所有明智的,然後再嘗試使用此VARCHAR許多(最大值)列。這是有原因的,主要是不受我控制,我不會進入這裏。
非常感謝您的回覆。整個事情現在更加清晰。我同意使用這個數量的varchar(max)列是不可取的,但是你的第三個鏈接真的解釋了實際的限制以及爲什麼忽視什麼是合理的。你的數字8000/24是有意義的,因爲每個varchar(max)都會有一個24字節的指向真實數據的指針。再次感謝,我會回到現實中,縮短一些專欄並拆分表格。 – 2010-10-11 13:42:15
@EasyTimer - 很高興知道我幫助:-) – Justin 2010-10-11 13:43:34