在sqlserver中查詢是需要加共享鎖的,而Update需要獲取排它鎖,并發(fā)系統(tǒng)中在同一行記錄會產生鎖沖突,要解決這個問題可以開啟sqlserver的行版本管理
使用行版本控制的隔離級別具有以下優(yōu)點:
• 讀取操作檢索一致的數據庫快照。
• SELECT 語句在讀取操作過程中不鎖定數據(讀取器不阻塞編寫器,編寫器也不阻塞讀取器)。
• SELECT 語句可以在其他事務更新行時訪問最后提交的行值,而不阻塞應用程序。
• 死鎖的數量減少。
• 事務所需的鎖的數量減少,這減少了管理鎖所需的系統(tǒng)開銷。
• 鎖升級的次數減少。
1. 進入配置管理器;
win10 沒有菜單=> win+r =>
2005: SQLServerManager.msc
2008: SQLServerManager10.msc
2012: SQLServerManager11.msc
2014: SQLServerManager12.msc
2. 按下圖, 關閉所有sqlserver服務, 并在啟動參數前面加 -m;
3. 進入 SSMS , 注意: 不要有任何連接;
4. 輸入如下腳本, 修改行版本控制級別:
ALTER DATABASE test SET ALLOW_SNAPSHOT_ISOLATION ON --替換庫名
ALTER DATABASE test SET READ_COMMITTED_SNAPSHOT ON --替換庫名
ALTER DATABASE test SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE test SET ALLOW_SNAPSHOT_ISOLATION ON
ALTER DATABASE test SET READ_COMMITTED_SNAPSHOT ON
ALTER DATABASE test SET MULTI_USER
--查看是否已修改過來
SELECT [name],snapshot_isolation_state,snapshot_isolation_state_desc,is_read_committed_snapshot_on
FROM master.sys.databases
5. 執(zhí)行完畢, 停止服務, 去除 -m; 確定并重新啟動服務;
6. 如果操作成功, 此時就可以開多個查詢和連接了。
版權所有:重慶阿可云網絡有限公司 電話:400-766-9009 渝ICP備16010897號-1
云版軟件?中小企業(yè)協(xié)同管控綜合解決方案供應商;包含ERP管理系統(tǒng)、CRM客戶關系管理、HR人力資源管理、OA辦公系統(tǒng)、生產管理、進銷存管理和財務管理等。
ERP企業(yè)管理系統(tǒng)| OA辦公系統(tǒng)