Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.
We are running several on premises Power BI Report Server installations in different Active Directory domains. All the report servers are running the latest update - January 2024. We recently discovered that some of our report developers are unable to upload new or changed reports to some of our report servers.
<datetime_start>|INFO|138|Received request PUT /api/v2.0/catalogitems(<ItemGUID>)| RequestID = <RequestID>
<datetime_start + 300 seconds>|ERROR|138|library|Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: , Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.AggregateException: One or more errors occurred. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out
--- End of inner exception stack trace ---
at System.Data.SqlClient.SqlCommand.<>c.<ExecuteDbDataReaderAsync>b__180_0(Task`1 result)
at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Dapper.SqlMapper.<QueryRowAsync>d__34`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.BIServer.HostingEnvironment.Storage.MeteredSqlConnection.<QueryFirstOrDefaultAsync>d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.BIServer.HostingEnvironment.Storage.MeteredSqlConnection.<QueryFirstOrDefaultAsync>d__14`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.BIServer.Configuration.Catalog.CatalogAccessFactory.<QueryFirstOrDefaultAsync>d__5`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ReportingServices.CatalogAccess.CatalogDataAccessor.<GetUserID>d__9.MoveNext()
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Microsoft.ReportingServices.Portal.Repositories.CatalogItemRepository.SetDataModelDataSourcesTrusted(IPrincipal userPrincipal, Guid itemId, IEnumerable`1 dataSources, Boolean isOverwrite)
at Microsoft.ReportingServices.Portal.Repositories.CatalogItemRepository.<>c__DisplayClass82_0.<| RequestID = <RequestID>
<datetime_start + 300 seconds>|INFO|138|library|Report server dump occured. Exception: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.AggregateException: One or more errors occurred. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out, Message: , Unhandled Exception: False| RequestID = <RequestID>
<datetime_start + 300 seconds>|INFO|138|library|Report server unique dump occured. Exception: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.AggregateException: One or more errors occurred. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out, Message: , Unhandled Exception: False| RequestID = <RequestID>
<datetime_start + 300 seconds>|INFO|138|library|Dump result: External dump process return code 0x20000001.
External dump process returned no errors.
.| RequestID = <RequestID>
<datetime_start + 300 seconds>|ERROR|138|OData exception occurred: Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.AggregateException: One or more errors occurred. ---> System.Data.SqlClient.SqlException: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding. ---> System.ComponentModel.Win32Exception: The wait operation timed out.| RequestID = <RequestID>
<datetime_start + 300 seconds>|INFO|139|Sending response. Response code <UserDomain>\<UserName> 500, Elapsed time 0:05:05,7753504| RequestID = <RequestID>
exec SetLastModified @Path=N'<ReportPath>',@ModifiedBySid=<SID_of_Report_Developer>,@ModifiedByName=N'<UserDomain>\<UserName>',@AuthType=1,@ModifiedDate='<ModifyDate>'
exec UpdateCatalogContentSize @CatalogItemID='<ReportItemID>',@ContentSize=262381
exec UpdateDataModelParametersById @CatalogItemID='<ReportItemID>',@Parameters=N'[]'
declare @p4 uniqueidentifier
set @p4=NULL
exec GetUserID @UserSid=<SID_of_Report_Developer>,@UserName=N'<UserDomain>\<UserName>',@AuthType=1,@UserID=@p4 output
select @p4
When the workaround is in place, session A above behaves differently and continues executing SQL statements during the report upload operation. No blocking between session B and session A occurs.
Session A SQL statements with the workaround in place:
exec SetLastModified @Path=N'<ReportPath>',@ModifiedBySid=<SID_of_Report_Developer>,@ModifiedByName=N'<UserDomain>\<UserName>',@AuthType=1,@ModifiedDate='<ModifyDate>'
exec UpdateCatalogContentSize @CatalogItemID='<ReportItemID>',@ContentSize=262381
exec UpdateDataModelParametersById @CatalogItemID='<ReportItemID>',@Parameters=N'[]'
-- Session stops here when the report developer is not in the dbo.Users table
exec ObjectExists @Path=N'<ReportPath>',@AuthType=1
exec GetAllProperties @Path=N'<ReportPath>',@AuthType=1
...
Solved! Go to Solution.
Hi @Anonymous ,
I am the Microsoft SQL Server DBA for all SQL instances within the company in question, including the report server instances and databases. I have worked within this field for more than 10 years now and have worked with application troubleshooting on the database level for both Microsoft and non-Microsoft applications quite extensively.
The problem in this case does not reside within the database or the SQL Server instance. There is nothing that can be done from the DBA perspective to solve or remediate this issue.
Based on my investigation thus far, this issue is most probably an application logic error within the application layer of the Power BI Report Server software. This issue has to be fixed by a code change by Microsoft in the software and can't be solved by us as customers.
Hi @JonasDedicatum ,
The blocking between sessions A and B as described indicates a potential issue with how transactions are managed during the upload process. Engaging with your database administrator to review the transaction isolation levels and lock escalation settings might provide insights. Specifically, investigate why session A holds an exclusive lock on the `dbo.Users` table for an extended period.
Examine the Power BI Report Server configuration settings related to user authentication and database connections. It's possible that a configuration setting is contributing to this behavior. The official documentation on Power BI Report Server configuration can provide guidance: [Power BI Report Server Configuration](https://learn.microsoft.com/en-us/power-bi/report-server/configure-report-server).
Best Regards,
Xianda Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @Anonymous ,
I am the Microsoft SQL Server DBA for all SQL instances within the company in question, including the report server instances and databases. I have worked within this field for more than 10 years now and have worked with application troubleshooting on the database level for both Microsoft and non-Microsoft applications quite extensively.
The problem in this case does not reside within the database or the SQL Server instance. There is nothing that can be done from the DBA perspective to solve or remediate this issue.
Based on my investigation thus far, this issue is most probably an application logic error within the application layer of the Power BI Report Server software. This issue has to be fixed by a code change by Microsoft in the software and can't be solved by us as customers.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.
User | Count |
---|---|
10 | |
4 | |
4 | |
2 | |
1 |
User | Count |
---|---|
15 | |
10 | |
6 | |
5 | |
4 |