I recently ran into a scenario where an Office 365 (SharePoint Online) list was over 10,000 items and I was attempting to delete the site, only to run into the dreaded List View Threshold Hold error. There are a lot of easy ways around this on premise to get rid of this site/list such as using PowerShell, changing the LVT for administrators, turning off LVT for this list, and many more creative/fun ideas. Office 365 doesn’t really have any of these options. The best way for handling this type of scenario that I’ve found is to use a little Access magic! Fire up Access and do the following:
1. Create a new Blank Desktop Database
2. Click External Data | More (Under Import & Link) | SharePoint List
3. Type the name of the SharePoint Online site you are connecting to and select Link to the data source by creating a linked table
5. Now sign in to your Office 365 tenant and click Next. Select the list(s) you want to link to and click OK
7. Open up the table containing the SharePoint list and create a query to run against it (Click Query Design | SQL View):
Delete from [ListName] where ID in (select top 10 ID from [ListName])
8. You will get a prompt indication that the query is running against data in linked tables. Click Yes
9. You will get another prompt indicating that you are able to delete X Number of rows in the specified table. Again, Click Yes
Now check the SharePoint site and notice that it is 10 rows lighter! Change the number in the SQL query to adjust how many items you want to delete at one time. The most I’ve deleted at once is 5000