2011-12-01 67 views
1

我們使用Sitecore的6.5每次我們開始時間發佈項目,誰正在瀏覽的網站將獲得其最終被設置死鎖犧牲品

交易服務器500錯誤(進程ID ##)用戶在另一個進程中被鎖定資源死鎖,並被選爲死鎖受害者。重新運行 交易。

我們如何設置SQL Server以優先考慮特定的應用程序?我們不能修改任何查詢或代碼,所以它必須通過SQL Server(或連接字符串)完成

我見過"deadlock victim" in transaction, how to change the priority?,看着http://msdn.microsoft.com/en-us/library/ms186736(v=SQL.105).aspx,但這些似乎是每個會話,而不是全局。

我不在乎它是否修復/更改爲SiteCore或SQL解決方案。

回答

1

我不認爲你可以在全局範圍內設置死鎖優先級 - 這是一個僅會話設置。沒有我知道的任何連接字符串設置。可以找到可能的SqlConnection字符串設置列表here

+0

這就是我找到的。 –

0

這聽起來像是你實際上遇到了緩存問題,每次發佈時,它都會清除緩存,從而導致所有這些調用同時發生死鎖。我還沒有看到6.5這種事情發生,所以你可能也想檢查你的緩存。查看Sitecore日誌並查看創建緩存時是否發生這種情況會有很大幫助。無論哪種方式,請查看SDN上的緩存指南,看看是否有幫助。

+0

已經確定在整個過程完成之前,caache沒有被清除。這與sitecore pulbish進行了測試。我們編寫了我們自己的發佈框架,其中包含所有項目發佈前都不會發生的事件。但是我們的系統仍然使用SiteCore發佈管理器來進行實際發佈,因此我們仍然依靠sitecore的查詢。 –

相關問題