Has anyone seen any performance problems with Sitecore SQL Session Provider?

We are noticing some problems with blocking queries under load, specifically the GetItemExclusive stored proc.

  • 2
    Can you get a bit more specific and maybe include some logs, the load you are experiencing? That will help getting a better answer
    – Bas Lijten
    Commented Oct 7, 2016 at 11:33
  • I've seen this issue. It got band-aided by scaling the SQL server...a lot. Not helpful, I know :|
    – Kam Figy
    Commented Oct 7, 2016 at 16:03
  • which version of SQL are you using?
    – ASura
    Commented Oct 7, 2016 at 17:13
  • Also you should be using single session for CD server as recommended by Sitecore. Another test you can make is that you switch to MongoDB provider and see if there is any performance gain. This can give us some direction if there is something with SQL provider. Commented Oct 8, 2016 at 12:50
  • Is your Session on Azure SQL or Stand alone SQL server? The Sitecore Session performance scripts cannot be run in SQL Azure. I believe you would potentially need a high performance subscription simply for this session requirement. Commented Jun 20, 2017 at 0:00

2 Answers 2


You've seen the "Optimize SQL Server Performance" section (Not Applicable to Azure SQL) at https://doc.sitecore.net/sitecore_experience_platform/setting_up__maintaining/xdb/session_state/walkthrough_configure_a_shared_session_state_database_using_the_sql_server_provider as it relates to Session state? While no silver bullet, that approach can improve session management perf with SQL Server and we've been successful with that on a few occasions. Know that TempDB is recreated at service restart and the permissions [sql login to db user mapping] will be gone, so a better implementation involves scripting these permissions as an extension to SQL restart.

We've also been known to isolate Private and Shared session state into their own SQL Server databases. That could help you isolate your issue, perhaps?

More generally to your question, theoretically a load of significant size could raise perf problems with any aspect of Sitecore. I know that doesn't specifically help you, but using SQL Profiler or an APM tool (AppDynamics or NewRelic?) can assist in diagnosing this. You've probably done that and found the GetItemExclusive bottleneck, so I'm curious about underlying SQL Server architecture.


I had the exact same issue, and Sitecore Support confirmed a connection leaking bug in the SessionStateStoreProvider that causes unnecessary load on SQL server making it unresponsive.

It is fixed in Sitecore 8.2 update-2. Prior versions will require a ticket to request the patch.

Sitecore Support registered the issue as bug #98800 and my support ticket number was #487192.

  • 2
    Could you provide a reference number from your chat with Sitecore Support? Commented Jun 19, 2017 at 21:10
  • Sure thing. It was registered as a bug #98800. If you need it, my specific ticket was #487192. Commented Jun 20, 2017 at 21:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.