SOLVED

Microsoft Sharepoint Online - total size of the columns in this list exceeds the limit

Copper Contributor

Getting the error

Sorry, something went wrong The column cannot be added because the total size of the columns in this list exceeds the limit. Please delete some other columns first.

When creating new Person type column in Sharepoint Online.

I have checked the total bytes of all columns and they do not exceed the size limit mentioned in docs. I have also deleted two additional Person type columns from list and one multiline column. The error is not going away.
Are there any settings in Sharepoint I can check? Or any more reasons for this error.

4 Replies

@parthup 

If you're receiving the error message "The column cannot be added because the total size of the columns in this list exceeds the limit. Please delete some other columns first" when trying to create a new Person type column in SharePoint Online, there are a few possible reasons and solutions you can try:

  1. List View Threshold: SharePoint Online has a list view threshold that limits the total number of columns or the total size of all columns in a list. This threshold is set by default to 8,000 bytes. If the total size of all columns in the list exceeds this limit, you won't be able to add additional columns. In this case, you can try one or more of the following solutions:

    • Delete unnecessary columns: Review the list and identify any columns that are no longer needed. Delete those columns to reduce the overall size of the list.
    • Combine columns: If possible, consider combining multiple columns into a single column or reorganizing the data structure to reduce the number of columns.
    • Archive or move data: If the list contains a large amount of historical data that is no longer frequently accessed, you can consider archiving or moving some of the data to a different location.
  2. Hidden or System Columns: Hidden or system columns in the list, such as "Created By" or "Modified By," also contribute to the overall size limit. Ensure that you haven't exceeded the size limit considering these columns as well.

  3. Indexed Columns: Indexed columns in SharePoint can increase the size of the list, as they require additional storage. If you have indexed columns in the list, try removing the indexing on any unnecessary columns.

  4. Site Collection Administrator: Check if you have the necessary permissions to add columns to the list. Ensure that you have the appropriate access and permissions.

Thanks for this reply,
We have tried all of these but no luck!
Is there a way in Microsoft to get the current list size in bytes, not manually but anywhere from the system which includes all system columns and indexed columns.
This would be great help.
Thanks again @NikolinoDE

@parthup 

In SharePoint Online, there is no built-in feature to directly retrieve the current list size in bytes, including system columns and indexed columns, from the system. However, you can use the SharePoint Online Management Shell, a PowerShell module, to retrieve some information about the list and its columns.

Here's an example of how you can use PowerShell to get the size of a SharePoint Online list:

  1. Install and set up the SharePoint Online Management Shell by following the instructions provided by Microsoft. This requires PowerShell version 3.0 or later.
  2. Open the SharePoint Online Management Shell.
  3. Connect to your SharePoint Online site using the following command:
Connect-SPOService -Url https://your-domain-admin.sharepoint.com

Replace "your-domain-admin" with the appropriate URL for your SharePoint Online site.

  1. Run the following PowerShell script to retrieve the list size in bytes:
$web = Get-SPOSite -Identity https://your-domain.sharepoint.com/sites/your-site

$list = Get-SPOList -Web $web -Identity "Your List Name"

 

$size = 0

$list.Fields | ForEach-Object {

    $fieldSize = $_.SchemaXml.Length

    $size += $fieldSize

}

 

Write-Host "List Size (Bytes): $size"

 

Replace "https://your-domain.sharepoint.com/sites/your-site" with the URL of your SharePoint Online site and "Your List Name" with the name of your list.

This script retrieves the list object, iterates through each field in the list, and calculates the size based on the length of the SchemaXml property of each field. The total size is then displayed in bytes.

Please note that this script considers only the SchemaXml length of the fields, which may not provide an exact representation of the total size, as there could be additional factors contributing to the list size. However, it can give you a rough estimate of the list size based on the field schema lengths.

 

Third-party tools are also available that provide advanced reporting and analytics for SharePoint Online. These tools can provide insight into list sizes, including system columns and indexed columns. Popular options include ShareGate, AvePoint, and SysKit.

I hope this helps in retrieving the list size information.

best response confirmed by parthup (Copper Contributor)
Solution

Hi @parthup ,

each  SharePoint list item can max. occupy 8,000 bytes per row (see software boundaries here: https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#list-and-library.... 300 Bytes are reserved, so you can use 7,700 bytes

You can get all columns from your list if you use the SharePoint REST api in your browser. Simply open

 

 

<Yoursiteurl>/_api/web/lists/getbytitle('<your list name>')/fields

 

 

and save the XML. You can transfrom that result into an Excel file using Power Query

Now you can count the fields and determine their type (i.e. using the field "TypeAsString" Property).
For the size of each field type refer to this table
https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#Column
Sum that up to calculate your list size.

Best Regards,
Sven




1 best response

Accepted Solutions
best response confirmed by parthup (Copper Contributor)
Solution

Hi @parthup ,

each  SharePoint list item can max. occupy 8,000 bytes per row (see software boundaries here: https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#list-and-library.... 300 Bytes are reserved, so you can use 7,700 bytes

You can get all columns from your list if you use the SharePoint REST api in your browser. Simply open

 

 

<Yoursiteurl>/_api/web/lists/getbytitle('<your list name>')/fields

 

 

and save the XML. You can transfrom that result into an Excel file using Power Query

Now you can count the fields and determine their type (i.e. using the field "TypeAsString" Property).
For the size of each field type refer to this table
https://learn.microsoft.com/en-us/sharepoint/install/software-boundaries-and-limits#Column
Sum that up to calculate your list size.

Best Regards,
Sven




View solution in original post