0
votes

I've recently copied an SSRS instance from SQL 2008 R2 to a new SQL 2012 instance. I performed a backup/restore on the report server DB and encryption key and have configured the service/execution accounts etc. I can run reports via report manager without incident and I can create new subscriptions the same way which run fine.

However, whenever one of the previously existing subscriptions (set up under R2) is due to run, it fails with the following error:

Microsoft.ReportingServices.Diagnostics.Utilities.AuthorizationExtensionException: An error occurred when invoking the authorization extension. ---> System.ArgumentNullException: SafeHandle cannot be null.

The suggestion seems to be that this is related to custom security components, but we don't have any. We do have a custom DLL for other purposes, but it isn't even being invoked when the subscriptions in question run, so it's highly unlikely it's that. CAS is configured for this DLL.

I'm really looking for suggestions on where to start looking to resolve this error, as I'm out of ideas on what to try!

1

1 Answers

1
votes

I posted the same question on MSDN and got an answer suggesting it could be that the subscriptions that were copied over from the old server were created by local users that don't exist on the new server.

After some investigation, this turned out to be the case. It seems that SSRS needs the subscription creator (OwnerID field in the Subscriptions table in the Report Server DB) to be a valid account, as it must perform some sort of verification when it attempts to run the subscription.

Once I changed this to a valid domain account (a local account would work just as well), the subscriptions all work fine.