Sql server 一行需要8KB,但一行的数据长度是4532字节

Sql server 一行需要8KB,但一行的数据长度是4532字节,sql-server,database,sql-server-express,Sql Server,Database,Sql Server Express,我有一个有很多nvarchar列的表。插入了一些伪数据(每行当前有4532字节-它是datalength(列)的总和)。 在SQL Express中,数据文件的最大大小已经达到10 GB。 我执行以下命令: execute sp_spaceused [mytable] 当我划分数据/行=>8KB时 新的插入件是不可能的,它们以 Could not allocate space for object 'mytable' in database ... 每个页面应该还有3660字节的空闲空间。我

我有一个有很多nvarchar列的表。插入了一些伪数据(每行当前有4532字节-它是datalength(列)的总和)。 在SQL Express中,数据文件的最大大小已经达到10 GB。 我执行以下命令:

execute sp_spaceused [mytable]
当我划分数据/行=>8KB时

新的插入件是不可能的,它们以

Could not allocate space for object 'mytable' in database ...
每个页面应该还有3660字节的空闲空间。我如何使用这个空间?
我使用SQL Express,因此无法添加更多空间。新插入的内容似乎无法使用页面中的剩余空间。我是否可以强制it部门将我的数据拆分为两页?

不能跨页拆分行。如果您输入4532,您的行已经使用了4532多个,可能是4600-4700。只剩下约3300字节,这对于一行来说是不够的。如果可能,您可以将其放入2个或更多的表中以优化页面utilization@ughai-OP已表示他们在express中的容量已达到10GB限制。这是一个DB大小限制,而不是表大小限制。@Damien_不信者-你是对的,但是拆分将有助于在OP达到Express10GB限制之前获得几乎2行,如果你是如此接近Expression的空间限制,那么你已经失去了长期的空间限制。你需要一个完全不同的方法。可能是在数据库之间进行切分。