在 Microsoft® SQL Server™ 中,表中行的最大允許大小為 8060 字節。一個行不能跨數據頁進行拆分。一個數據頁大小為 8 KB,由數據行和一些內部數據結構組成。
所以下面的SQL 語句創建表會報警告信息:
CREATE TABLE [dbo].[TestTable] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[content1] [nvarchar] (4000) NULL ,
[content2] [nvarchar] (4000) NULL
)
Warning: The table 'TestTable' has been created but its maximum row size (16029) exceeds the maximum number of bytes per row (8060). INSERT or UPDATE of a row in this table will fail if the resulting row length exceeds 8060 bytes.
但是表仍然被創建了。但是在你做 Insert Update 操作的時候,就會報錯誤信息。
解決方法:
重新設計表結構。把它分成兩個表,或者用Text字段。
Text 字段由於它的存儲方式。他在數據行只占16個字節的指針。