Showing posts with label PowerPivot Data Refresh. Show all posts
Showing posts with label PowerPivot Data Refresh. Show all posts

Wednesday, May 31, 2017

RBS ghosts in my house!

So let's say you deployed Remote Blob Storage for SharePoint.  Then later you decided you didn't want to deploy it for a particular content database and retracted the data from the blob back into the SQL content database.


Then later....maybe much later....uploads to your SharePoint site start failing.  Maybe it's after a Cumulative Update.  Maybe it's after a SQL upgrade.  You see the following in your ULS logs:

System.Runtime.InteropServices.COMException: The URL 'Documents/somedoc.docx' is invalid.  It may refer to a nonexistent file or folder, or refer to a valid file or folder that is not in the current Web.  


Failed in GetStreamInfo: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Data.SqlRemoteBlobs.RemoteBlobUsageException: The specified blob store <1> could not be found in the current database. 


What do you do?


There are a couple solutions that work for other people, then there's the solution that worked for us:


1.  Ensure Remote Blob Storage is set up correctly.  https://technet.microsoft.com/en-us/library/ee748631.aspx


2.  Ensure the Application Pool account that hosts the Web App where your Content Database lives has the correct RBS permissions.


For us, the fix was actually ensuring the Content Database that was no longer using RBS was ACTUALLY not using RBS.  It got confused, and we had to straighten it out with Powershell.  The script for the fix was fairly straightforward:

add-pssnapin Microsoft.SharePoint.Powershell


$cdb=get-SPContentDatabase some_content_database
$rbs=$cdb.RemoteBlobStorageSettings
$rbs.SetActiveProviderName("")


***

Using this, the Active Provider for RBS was disabled.  As soon as we ran this, we were then able to upload files without trouble to the SharePoint sites that were operating in that Content Database.


Hope this helps someone!

Tuesday, January 12, 2016

PowerPivot in SharePoint 2013 - The schedule has been altered outside of PowerPivot. Use the Manage Data Refresh page to update and re-save the schedule

Ouch. This one sucked.  It sucks because the error you see in the PowerPivot refresh history doesn't tell you much.  Here's what we were seeing in the refresh history:

The schedule has been altered outside of PowerPivot. Use the Manage Data Refresh page to update and re-save the schedule.

We'd see this error any time we'd try to kick off a manual refresh.  Even more strangely, we'd see that the Excel file in question required a check-out before we could modify the refresh schedule.

Hmmmmmm....

So it turns out you need to disable the requirement for checking out a file for any Document Library in SharePoint 2013 where PowerPivot scheduled refreshes are enabled.  Don't believe me, check the TechNet article:

http://blogs.technet.com/b/excel_services__powerpivot_for_sharepoint_support_blog/archive/2014/09/15/powerpivot-scheduled-data-refresh-quot-the-workbook-must-be-checked-out-before-it-can-be-replaced-you-can-save-this-file-with-another-name-quot.aspx

Also - that's one of the shortest, most succinct TechNet articles I've ever read. 

At any rate, we were seeing the following in our ULS logs as well.  It was actually the ULS error that pointed me to the TechNet article.

EXCEPTION: System.InvalidOperationException: Call to Excel Services returned an error. ---> Microsoft.AnalysisServices.SPClient.Interfaces.ExcelServicesException: The workbook must be checked out before it can be replaced.  You can save this file with another name.

So the fix, in case you didn't go directly to the TechNet article, is to remove the requirement for check-out in the Document Library. 

I'm posting this one because when I searched on the initial error, I found one TechNet thread that didn't have the resolution I needed.  Hopefully this will help someone out.