We have a blocking scenario in our environment (OLAP,SQL Server 2014). Session 1 is doing a select from the table X and session 2 is trying to do a truncate of the same table . Truncate(session2) is getting blocked by the select (session1). The isolation level of the database has been changed to read commited snapshot.
The select queries are mostly run by users trying to run their reports.
Do we have a way of avoiding this blocking and let the truncate progress(off course killing the session is an easy option)
I am skeptical of using (with nolock) with select statements in this scenario as the truncate will still require a Sch-M lock which it will not be able to acquire in this scenario.
Could you please share your expert opinion on this.