0
votes

I have a pretty awkward problem which I suspect there is no easy solution to. Here it is...

  • I have 1 list which has 27,000+ items in, which exceeds the list view threshold (20,000)
  • I want to move 18,000 of these list items to a new list, but I can not do this at present due to the list view threshold being exceeded
  • Explorer view doesn't load the items (fails with an error)
  • I crucially am not allowed to change the list view threshold in Central Admin
  • I don't have access to any useful tools (e.g. Designer, Sharegate)
  • I have site collection 'Owner' permissions

Very restrictive. Is there any way of getting this data out of the list?

1

1 Answers

0
votes

Without changing the list view threshold for all lists in Central Admin (a restriction for which I applaud whoever imposed it), you have two other options that can let you circumvent the threshold.

Both options require somebody with special access--either to central admin or remote access to one of the actual web servers--to make the change.

Set a window during which large list operations are allowed (Central Admin)

First, in central admin you can specify a window of time during which the list view threshold does not apply. The idea is that this will not be during business hours, so the performance hit caused by large lists won't be as much of an impact to SharePoint users. If you can sell this idea to your SharePoint admins, then you can perform your change during the window.

Disable throttling for a specific list (Powershell)

Second, you can disable the list view threshold for a single list (without opening the floodgates on all lists) by running some Powershell commands to access the specific list programmatically.

$web = get-spweb "http://yoursite/yourweb"
$list = $web.Lists["List Title"]
$list.EnableThrottling = $false;
$web.Dispose();

Since this evasion of the list view threshold is more surgical, it (hopefully) won't have as much performance impact when you go and perform your operation. Ideally, the EnableThrottling property will only be set to false temporarily while you perform your intended actions, and can be set back to true when you're done.