Recently, we have upgraded Tableau Desktop and Server from 10.0 to 2018.1. Everything were tested working fine and upgraded on PROD. Couple days after the upgrade, a user notice a dashboard is showing blank. I checked the refresh extract task history on Server Task are all success but no data return from source data connection (SQL). I've spent a lot of time investigating this issue online so I think it is a good idea to share this to everyone who might has same problem like us.
Cause of issue:
After trying out many different way on both Tableau Desktop or SQL, I finally identify it is 'SET TRANSACTION ISOLATION LEVEL SNAPSHOT' in our stored procedure causing this issue. (Here, I am not going to discuss why 'SET TRANSACTION ISOLATION LEVEL SNAPSHOT' is used for our reporting stored procedure)
Remove or comment out the line of 'SET TRANSACTION ISOLATION LEVEL SNAPSHOT' and refresh data source in Tableau Desktop then re-publish workbook will solve this issue. However, I have informed Tableau about this issue because it was fine with 10.0 but not 2018.1 (may be a .tde to .hyper issue).
That's an interesting one. I generally set that as the default setting for all of my SQL Server databases (so I don't have to do it for my SQL or SPs), but it's definitely strange that it broke the extract.