SSRS Exception after migration - sql-server

I have migrated SQL Server 2008 R2 based SSRS to SQL Server 2016 SSRS. I am getting the following error every 10 minutes in the logs. Schedules are not updating Next Run time after Job execution.
library!WindowsService_3!28c4!01/31/2020-00:02:08:: i INFO: Call to CleanBatch()
library!WindowsService_3!28c4!01/31/2020-00:02:08:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: , An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database.;
dbcleanup!WindowsService_3!28c4!01/31/2020-00:02:08:: e ERROR: Error in CleanExpiredContentCache: Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database.
System.Data.SqlClient.SqlException: Invalid object name 'ReportServerTempDB.dbo.ContentCache'.
runningjobs!WindowsService_3!28c4!01/31/2020-00:02:08:: e ERROR: Error in timer Database Cleanup (NT Service) : Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException: An error occurred within the report server database. This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: Invalid object name 'ReportServerTempDB.dbo.ContentCache'.

Related

SSRS Error after 240s

i observed a strange behavior of SQL Server Reporting Services (SSRS) 2016 on different machines with different reports and different data source types (SQL and OLAP).
In the table [ReportServer].[dbo].[ExecutionLogStorage] are ca. 100 entries per month with ([TimeProcessing] / 1000) = 240 and [Status] = 'rsProcessingAborted'. The ReportServer logfile has for each row the entry:
ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException:
, An error occurred within the report server database. This may be
due to a connection failure, timeout or low disk condition within the
database.;
Since there is enough space and the connection works in other cases it might be a timeout inside SSRS and i guess in the connection to the ReportServer database, but i don't know which one. The reports have specific configured timeouts (over 1 hour), so it's not the Report Server default timeout.
Which timeout is the cause of these report errors?

Known Good SQL Logins Failing (Error 18456) Accompanied by "Unable to Reuse a Session" (Error 18056)

I am losing my patience with this problem. I'm running SQL Server 2008 R2 with all updates.
It is very intermittent. Every now and again this SQL server instance will report the error: Login failed for user 'XX'. Reason: Failed to open the database configured in the login object while revalidating the login on the connection.
Error: 18456, Severity: 14, State: 46.
I know this is a good login, it works all of the other times, and no one changes the credentials.
The above error is immediately followed by this error:
The client was unable to reuse a session with SPID 150, which had been
reset for connection pooling. The failure ID is 46. This error may
have been caused by an earlier operation failing. Check the error logs
for failed operations immediately before this error message.
Error: 18456, Severity: 14, State: 46.
When this occurs a few minutes later this is reported also:
Message
All schedulers on Node 0 appear deadlocked due to a large number of worker threads waiting on ASYNC_NETWORK_IO. Process Utilization 0%.
The above message just keeps repeating until I restart the server.
From researching this issue I've increased the maximum worker threads (currently at 1100). The server has 72G memory and 4 vCPUs, running Windows Server 2008 R2.
i don't encounter this issue at all on my other database servers that run the same environment. Just this one. Any help would be greatly appreciated, I'm running out of options.

SSRS 2008 R2 lock when listing subscriptions

Thanks in advance for any assistance.
When I use the SSRS "My Subscriptions" link in the Report Manager, the browser waits for several minutes and often times out.
When checking the list of locks in SQL Activity Monitor there are a large number of locks on the Reportserver database with type ASYNC_NETWORK_IO querying the Subscription table.
The ReportServer service and database are on the same SQL Instance.
I also cannot at that time open the Subscription Table, its locked.
I have checked there are no duplicate users (linked to reports or subscriptions).
There is plenty of disk space allocated to the ReportServer and ReportServerTempDB datbases.
The report database has in the past been moved off an old server to the current one (backup & restored).
The error in the SSRS logfile at the time is:
library!WindowsService_6!7780!01/18/2016-12:11:37:: e ERROR: Throwing
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException:
, An error occurred within the report server database.
This may be due to a connection failure, timeout or low disk condition within the database:
dbpolling!WindowsService_6!7780!01/18/2016-12:11:37:: e
ERROR: PollingMaintenance: Restarting maintenance thread for the
following exception:
Microsoft.ReportingServices.Diagnostics.Utilities.ReportServerStorageException:
An error occurred within the report server database
This may be due to a connection failure, timeout or low disk condition within the database. ---> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding..
The reports and subscriptions are working fine, its just the subscription management interface that is not loading a lot of the time.
Thanks
Vaughn

Handling a SQL Server Login error msg with VBA?

I'm working in a VBA module for Access that queries linked tables, generates reports based off the data, and then uses a PDF printer to save the reports to disk. There's a timer in the primary form that will, every N seconds, run an Access query against a "JOBQUEUE" table to see if there are new jobs.
If the database server becomes unavailable, this operation will of course time out. The run-time error of 3051 is being logged, and the loop will try to continue. The loop can't finish, however, because the following error comes right after the VB Run-Time error;
Title is "Microsoft SQL Server Login", so it's not within VB as far as I can tell.
Connection Failed:
SQLState: '01000'
SQL Server Error: 53
[Microsoft][ODBC SQL Server Driver][DBNETLIB][ConnectionOpen(Connect()).
Connection Failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not
exist or access is denied.
In every forum & discussion I've found that mentions this error, the asker is concerned with the cause of the error. In this case, I can assume that the error is temporary, and that it needs to continue trying to connect because the installation is unattended. Access goes into a "Not Responding..." state when it's timing out against the DB, and that's OK too, if connection is restored before it goes into the MsgBox described above, it will pick up where it left off and soldier on.
Does anyone know of a way that I can either mute that msgbox, preferably programatically, but I'd take anything at this point that can be done remotely that isn't an RDP session.
Edit: Link to image
The error I was getting was indeed not a run-time error that could be caught from code. Rather, it was SQL timing out after I already swallowed & dismissed time-outs in run-time in my VBA module.
The error does not seem to ever appear now that I have introduced a new timer that resets the loop that runs a query against my linked tables. It can't be logged & swallowed, but it can be prevented by being smarter about how I handle timeouts in run-time.

Why does this transport-level error occur?

After a breakdown on my virtual webhost, they finally restored the container, but now I randomly get the error when I try to execute queries. I can do a
Select top 20000 from Orders
But
Select * from Orders (about 100k rows total)
Receives the error in my management studio:
A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)
And this error in my error log:
A read operation on a large object failed while sending data to the client. A common cause for this is if the application is running in READ UNCOMMITTED isolation level. This connection will be terminated.
I have googled the error and can see that it could be because "Lightweight pooling" is enabled, but this is not the case here.
I run mssql 2008 express on a windows 2003 server.
We get the same random issue on MSSQL where I work and (for us any way) its down to network issues (too much traffic and such).
This blog post by Michael Aspengren explains the error message "A transport-level error has occurred when sending the request to the server."

Resources