We have migrated a site from MOSS 2007 to SP 2010, getting the following error message when try to create a page using one of the custom page layout.

Column Limit Exceeded.

There are too many columns of the specified data type. Please delete some other columns first. Note that some column types like numbers and currency use the same data type.

The page layout is associated to a custom content type which has too many columns (particularly 36 Publishing Image and 34 Publishing HTML).

We are also getting following error message when try to add additional columns to the same content type:

<nativehr>0x810705b6</nativehr><nativestack></nativestack>The column cannot be added because the total size of the columns in this list exceeds the limit. Please delete some other columns first

Both errors are similar; this is because of the column limitation in SP 2010.

Ref: http://technet.microsoft.com/en-us/library/cc262787.aspx#Column

Two options to fix this error:

  1. Review the columns in your content type and remove the unnecessary columns.
  2. Increase the Row Wrapping limit.

In SP 2010, when columns are added to a list they are mapped to columns in a SQL Server database table. Each row in the database table supports a fixed number of each of the several different column types. For instance, a single database table row supports eight date and time columns and 12 number columns. If there are more than eight date and time columns then each list item will use two database table rows.

By default MaxListItemRowStorage value is 6.

We can increase this value using Object Model or PowerShell.

PowerShell:

$siteURL = “http://yourserver:xxxx”

$webApp = Get-SPWebApplication $siteURL

$webApp.MaxListItemRowStorage = 8

$webApp.Update()

Object Model:

SPWebApplication.MaxListItemRowStorage Property

Note: Increasing the MaxListItemRowStorage value will have some performance implications.

Advertisements