2012-02-20 31 views
1

當開發人員請求DBA允許SQL Server 2008數據庫中的SNAPSHOT隔離級別時,DBA提出的常見異議是什麼?閱讀承諾SNAPSHOT沒有被請求,但只是隔離級別的SNAPSH在SQL Server 2008中允許SNAPSHOT級別的常見反對意見是什麼?

+0

所有基於快照的隔離級別都使用'TempDB',它通常是配置錯誤,維護不當的部分SQL Server – 2012-02-20 05:54:31

回答

3

我不會說通常有反對意見。作爲DBA,我積極鼓勵開發團隊讓我使用Read_Committed_Snapshot隔離級別。事實上,我更喜歡它。正如它在評論中所說的那樣,我會看到使用tempdb的情況有所增加,但減少阻塞是非常值得的。

我並不喜歡使用SNAPSHOT,因爲通常我不能讓開發人員想到他們需要更改他們的代碼。另外,因爲它完全依賴於開發人員正確編寫它的使用,所以我看到了更多的錯誤,無法工作的地方或造成問題的地方。這就是爲什麼我寧願在數據庫中啓用隔離級別。

我確定現在已經修復了,但是幾年前我正在處理的一個項目在nHibernate中使用SNAPSHOT時遇到了問題。我不記得任何細節,只是他們遇到了問題,但是它已經有一段時間了。

+0

今天,我們的DBA只是給我發電子郵件,通常他們不允許SNAPSHOT隔離級別。我相信他會和我見面。 **我能告訴他什麼來說服他允許SNAPSHOT隔離級別?** – Sunil 2012-03-02 16:31:35

+0

哪種隔離級別?就像我上面所說的那樣,通過連接來實現SNAPSHOT,我對這個問題並不滿意,因爲它太依賴於所有正確的代碼。如果它是re​​ad_committed_snapshot,請查明他爲什麼反對。通常,它缺乏關於它如何工作的知識,或者擔心增加的tempdb負載。如果是後者,請在調整tempdb時快速進行Bingle搜索。有一些標準的最佳實踐發佈,特別是在Microsoft MSDN網站上,這將有所幫助。 – 2012-03-05 13:45:07

+0

格蘭特,感謝您的迴應。我們的DBA提出的原因是生產中使用了大約100個數據庫,並且難以通過SNAPSHOT隔離級別或READ_COMMITTED_SNAPSHOT打開來管理tempdb。我希望我能說服他。讓我們來看看。 – Sunil 2012-03-05 16:31:01

相關問題