我正在處理一個擁有數十億行大量表的大型數據庫的應用程序。我有分佈在世界各地的開發團隊。他們需要爲各種目的訪問生產數據庫。他們已被授予數據庫只讀權限。 如果您使用查詢with (nolock)
,它工作正常。但是,如果您沒有使用nolock
,則可以通過運行一些永不結束的查詢來降低整個應用程序。去年發生了幾次,所以現在我猶豫是否允許新開發者。在SQL Server中授予ReadOnly權限(nolock)
我知道爲每個表創建一個視圖with (nolock)
並僅授予對這些視圖的權限是一個解決方案,但不知何故,我不想爲此創建200個視圖。在某種程度上,所有的查詢運行無鎖該用戶或
with (nolock)
我們
- 授予權限:
我正在尋找一種方式來使用SQL Server 2008 R2。 PS:我從來沒有遇到過這個問題,直到與另一個基於Oracle的應用程序相比,它是這個應用程序的50倍。
http://msdn.microsoft.com/en-ca/library/ms189040%28v=sql.100%29.aspx? –
重複的http://stackoverflow.com/questions/64208/how-to-force-nolock-hint-for-sql-server-logins – Vasanth
@MarcB設置遠程查詢的時間限制不會幫助我。在這個數據庫中查詢必然需要很長時間。我想要的只是即使開發人員正在讀取數據,它也不應該阻止應用程序寫入同一個表。這可以通過在查詢中使用nolock或設置Isoloation Level來實現,但這取決於開發人員使用它們。我想強制這個。 – Pankaj