我們在我們的應用程序中通過SqlCommand在SQL Server數據庫上執行SELECT
查詢獲取一些數據列表。我們沒有明確地在SqlCommand上設置一個事務,而只是傳遞一個SqlConnection並運行它。在沒有指定事務的情況下,SQL Server將啓動並使用缺省事務處理,默認IsolationLevel爲ReadCommitted
?在沒有指定交易的情況下執行SQLCommand
5
A
回答
3
SQL Server可以在沒有顯式事務的情況下快樂地工作。但是,是的,我相信它本質上是讀取提交的(除非,當然,您向查詢對象添加額外提示,例如UPDLOCK
/NOLOCK
)。
DBCC USEROPTIONS
其中顯示了(包括其他):你可以調查這個
isolation level read committed
5
SQL隱爲您的語句創建一個事務,語句完成本次交易承諾。此事務的隔離級別是當前隔離級別,默認級別爲READ COMMITTED。某些語句會覆蓋當前的隔離級別並強制執行READ COMMITTED(例如RECEIVE)。
如果您的SqlCommand執行批處理(更多語句),則訪問表的每個語句都將創建自己的事務。
默認autocommit of transactions通過更改SET IMPLICIT_TRANSACTION ON來控制。
查看Controlling Transactions瞭解更多詳情。
相關問題
- 1. 在沒有交互模式的情況下執行vim命令
- 2. 在沒有拆分的情況下在JavaScript中進行交換
- 3. 在沒有win32com.client的情況下自動執行Outlook的建議
- 4. 在沒有擴展的情況下創建線程並執行
- 5. 在沒有CA警告的情況下執行Inhertited IDisposable模式
- 6. Servlet在沒有時間間隔的情況下執行
- 7. 在沒有服務器的情況下執行反應webpack包
- 8. 如何在沒有WIN32 API的情況下執行此操作?
- 9. 在沒有線程的情況下同時執行python腳本
- 10. 如何在沒有eval的情況下執行此操作()
- 11. 如何在沒有構建文件的情況下執行Ant
- 12. 如何在沒有密碼提示的情況下執行mysqldump?
- 13. 如何在沒有事務的情況下執行sproc?
- 14. GDB如何在沒有斷點的情況下停止執行?
- 15. 在沒有路由的情況下執行Yii模塊
- 16. 在沒有指定字段名稱的情況下查詢Solr
- 17. 如何在沒有'ttl'的情況下指定'exp'?
- 18. 在松露中指定交易執行的自定義帳戶
- 19. 有沒有辦法在沒有UI的情況下執行Checkmarx掃描?
- 20. rails在沒有執行控制器動作的情況下執行視圖
- 21. 在沒有Ajax的情況下執行asp.net postback後執行javascript函數
- 22. 記錄的SqlCommand只有在錯誤W的情況下/ PetaPoco
- 23. 在什麼情況下SqlCommand對象的prepare方法有用?
- 24. C#在沒有指定參數名稱的情況下運行一個程序
- 25. 在沒有統計的情況下獲取沒有行的表
- 26. 如何在沒有正在進行的交易的情況下撥打外部電話?
- 27. IndexedDB的交易自動提交的邊緣情況的行爲
- 28. REQUIRES_NEW交易在Spring數據不支持的情況下gemfire
- 29. 在沒有父母的情況下在gerrit中提交補丁
- 30. 有沒有任何情況下片段被銷燬而沒有活動和沒有交易?
也許我在這裏有同樣的問題:http://stackoverflow.com/questions/41096727/is-there-an-implicit-transaction-in-sqlcommand-executenonquery – VansFannel 2016-12-12 11:47:12