我的老人告訴我,對於SQL查詢默認執行不會鎖定表。查詢時SSRS是否鎖定表格?
但是我的SSRS報告出現了一些問題,似乎在鎖定和獲取一些錯誤方面遇到了一些問題。
我做了一些谷歌搜索,但沒有找到任何東西。
只是尋求確認,SSRS報告實際上是否會鎖定正在查詢的所有表格?
是否有任何MSDN文檔具體記錄此行爲?
我的老人告訴我,對於SQL查詢默認執行不會鎖定表。查詢時SSRS是否鎖定表格?
但是我的SSRS報告出現了一些問題,似乎在鎖定和獲取一些錯誤方面遇到了一些問題。
我做了一些谷歌搜索,但沒有找到任何東西。
只是尋求確認,SSRS報告實際上是否會鎖定正在查詢的所有表格?
是否有任何MSDN文檔具體記錄此行爲?
SSRS不鎖定任何東西。鎖定將由您的嵌入在報告中的查詢驅動。除了你,沒有人能回答這個問題,查看報告和使用的查詢,然後看看它們是否鎖定或不鎖定表格。
正常情況下,查詢在表格中鎖定數據而不是表格。一致,正確的報告絕對需要鎖定。不要屈服於添加NOLOCK提示的謬誤,並稱它爲一天,you will get incorrect results。
如果您看到由報告引起的生產爭用,那麼有很多解決方案。將報告卸載到只讀服務器,使用Availability Groups,database snapshot或standby log shipping server。另一種方法是enable row versioned isolation levels like SNAPSHOT。
對於來自SSRS的直選語句將肯定會鎖定表格。
您可以使用NOLOCK並寫一個具有所需列的特定查詢以顯示在報告中。
在這裏你的選擇查詢不能有「*」insted有列名。
嗨,你能提供這個MSDN文章鏈接?謝謝 – melaos
真的很棒的文章在NOLOCK那裏,非常翔實! – Charleh
酷,因爲我有點失落,所以它實際上是查詢具體然後由於SRSS?正如我實際上試圖直接從reportserver /報告從多個瀏覽器運行查詢。 – melaos