Sql server 在不指定事务的情况下执行SQLCommand
我们在应用程序中有一些数据列表,这些数据是通过对SQL Server数据库执行Sql server 在不指定事务的情况下执行SQLCommand,sql-server,transactions,sqlcommand,Sql Server,Transactions,Sqlcommand,我们在应用程序中有一些数据列表,这些数据是通过对SQL Server数据库执行SELECT查询的SqlCommand获取的。我们没有显式地在SqlCommand上设置事务,而只是传递一个SqlConnection并运行它。在这种情况下,如果未指定任何事务,SQL Server将启动并使用默认隔离级别为ReadCommitted的默认事务?SQL Server可以在没有显式事务的情况下愉快地工作。但是是的,我相信它本质上是读提交的(当然,除非您向查询对象添加额外的提示,例如UPDLOCK/NOLO
SELECT
查询的SqlCommand获取的。我们没有显式地在SqlCommand上设置事务,而只是传递一个SqlConnection并运行它。在这种情况下,如果未指定任何事务,SQL Server将启动并使用默认隔离级别为ReadCommitted
的默认事务?SQL Server可以在没有显式事务的情况下愉快地工作。但是是的,我相信它本质上是读提交的(当然,除非您向查询对象添加额外的提示,例如UPDLOCK
/NOLOCK
)。您可以通过以下方式对此进行调查:
DBCC USEROPTIONS
其中包括:
SQL为您的语句隐式创建一个事务,该事务在语句完成时提交。此事务的隔离级别将是当前隔离级别,默认为READ COMMITTED。某些语句覆盖当前隔离级别并强制执行读提交(例如RECEIVE) 如果SqlCommand执行批处理(更多语句),则访问表的每个语句都将创建自己的事务 默认值是通过更改上的设置IMPLICIT_事务来控制的
有关更多详细信息,请参阅。可能我在这里遇到了相同的问题:
isolation level read committed