Question

I have a column in a list of over 15,000 items. The column we want to delete was recently created, and we were going to populate it/backfill the values, but then decided to split it into 3 fields (creating more columns, as a result), and so now wanted to delete the old one.

Tried:

  • SP doesn't let you delete it using List Settings
  • SPD gives "Could not save the field changes to the server"
  • Going into Access and linking to the list and attempting to delete it that way yields the error:

"Table is too large for this change to be saved"

Anyone ever worked around this one?

Writing anything to do this that requires installing anything on the server (including 3rd-party tools) or deploying managed code (WSPs, etc.) is out, as those that control the SharePoint servers want them to be "clean" and nothing is allowed to be installed on them except SP. Also, I do not have direct access to this server - it is managed by a separate group of admins - so I do not believe I can use PowerShell for this, either.

Was it helpful?

Solution

You can increase the list view thresh hold in central administration temporarily to allow this column to be deleted.

In Central Administration go to Application Management -> Manage Web Applications -> Click your web app -> click General Settings in the ribbon -> Resource Throttling and set the List View Threshold to 20,000 or wait until the happy hour where large list operations are acceptable, if configured in the Resource Throttling popup.

Delete your column, then revert the setting.

OTHER TIPS

Do you have Visual Studio access and are knowledgeable with C#? You can use the Client Side Object Model (CSOM) against the server if so since Central Admin and PowerShell are not options for you. Just create a C# console application and run something similar to what is below. You'll need to add the Microsoft.SharePoint.Client to your references.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.SharePoint.Client;

namespace SharePoint_Column_Remover
{
    class Program
    {
        static void Main(string[] args)
        {
            // Starting with ClientContext, the constructor requires a URL to the 
            // server running SharePoint.
            ClientContext context = new ClientContext("https://yourintranetdomain/sitename/");

            // SharePoint Web
            Web web = context.Web;
            context.Load(web);
            context.ExecuteQuery();

            // SharePoint List
            List list = web.Lists.GetByTitle("The List Name");
            context.Load(list);
            context.ExecuteQuery();

            // SharePoint List Fields
            FieldCollection fieldCol = list.Fields;
            context.Load(fieldCol);
            context.ExecuteQuery();

            foreach (Field field in fieldCol)
            {
                if (field.InternalName.ToString() == "Name of Column")
                {
                    Console.WriteLine(field.InternalName.ToString());
                    Console.WriteLine(field.ReadOnlyField);
                    Console.WriteLine("");

                    // Unrem this and run it one time if field is read only
                    //field.ReadOnlyField = false;
                    //field.Update();
                    //context.ExecuteQuery();

                    // Unrem this and run it to delete the column
                    //field.DeleteObject();
                    //context.ExecuteQuery();
                }
            }

        }
    }
}

I, too, was unable to delete a column from a SharePoint list that had 5,400 items. Same error: "exceeds the list view threshold".

The column was an enhanced rich text column, and a colleague suggested I convert the column to simple text and try again to delete it.

It worked!

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top