什么是“混沌”隔离级别以及何时使用?

Mat*_*tin 28 sql-server ado.net transaction

ADO.NET 文档显示了将 SQL 事务的事务级别设置为 Chaos 的可能性。这听起来令人不快,但如果该功能存在,大概它有一些合法用途。

BOL 中的SET TRANSACTION ISOLATION LEVEL命令(啊!看,我可以使用 google 和 BOL)似乎没有任何东西被命名为“混乱”,而 ADO.NET 确实有 5 种模式,除了“混乱”之外,这些模式与记录的级别非常匹配

这个混沌等级是为了什么或谁?(为什么它有一个不友好的名字?)

参考: ADO.NET 枚举

gbn*_*gbn 12

您不能对 SQL Server 使用它。

它在 DTS 中:

并且在 SSIS 中:

更多参考资料,最初由Nick Chammas在评论中添加:


小智 11

根据 DB2 文档,这是一个奇怪的隔离级别,在您执行更改后立即将更改提交到数据库(供其他人查看)。

它没有明确说明,但据我所知,也没有回滚。基本上,这意味着根本没有交易。“你说‘交易’,但是,我不在乎”。因此 -> 混乱。

实际上,我在一些电子邮件列表中发现“Chaos”实际上映射到“DB2 for i”中的“*NONE”事务级别。


小智 7

DB2 有一个称为“Chaos”的事务隔离级别:

DB2Connection.ConnectionString 属性- IBM Knowledge Center

也许它是用来做那个的。我真的不确定,但我认为这意味着没有可定义的事务隔离。

  • 似乎仅适用于 System i。你知道这意味着什么吗?我找不到关于它的太多信息,它说没有提交,所以我认为这意味着每个语句都是立即提交的。但这似乎与隔离级别正交,因此可能还有其他原因 (2认同)