Вопрос по sql-server-2008, ado.net, transactions – Каков уровень изоляции транзакции по умолчанию для SQL Server с ADO.NET?

42

Каков уровень изоляции транзакции по умолчанию для SQL Server с ADO.NET? Я использую стандартную установку SQL Server и только обычные классы System.Data.SqlClient.

Если вы отрицаете, пожалуйста, объясните, почему Remus Rusanu
@RemusRusanu: Думаю, сначала я не читаю документы. (Я не понизил) Neolisk
Для других настроек существуют различия между значениями по умолчанию для ADO.NET и SQL Server Management Studio. Так что это не совсем безопасное предположение. Jonathan Allen
@ Neolisk: вещи часто более сложны, чем кажутся ...stackoverflow.com/questions/9851415/… Remus Rusanu
Просто интересно о фрагменте вашего вопроса, который конкретно упоминаетwith ADO.NET? Я считаю, независимо от поставщика w.r.t. в мире программирования на стороне клиента (Java, .Net, Python и т. д.) по умолчанию используется механизм базы данных, а НЕ провайдер. Поэтому уровень изоляции по умолчанию для SQL Server должен оставаться неизменным независимо от того, используете ли вы ADO.NET или любого другого поставщика на стороне клиента для подключения к базе данных SQL Server. Пожалуйста, поправьте меня, если я ошибаюсь. RBT

Ваш Ответ

2   ответа
11

который обеспечивает самый высокий уровень защиты.

Смотрите ссылку ниже для получения дополнительной информации:

IsolationLevel Enumeration @ MSDN.
Я просто опроверг это, потому что когда в .NET вы вызываете System.Data.SqlClient.SqlConnection.BeginTransaction (), полученная транзакция имеет уровень изоляции ReadCommited, как описывает hkf.
Этот ответ представляется более актуальным, поскольку он касается транзакций .NET, а не при использовании TSQL.
Этот вопрос относится к ADO NET, который предлагает инструменты для доступа к базе данных из пространства имен System.Data (где, между прочим, уровень изоляции по умолчанию установлен на ReadCommitted). В то время как TransactionScope происходит из пространства имен System.Transactions, которое предлагает эти инструменты для источника данных в целом (например, веб-службы).
56

READ COMMITTED is the default isolation level for the Microsoft SQL Server Database Engine.

Источник:

Вот как это сравнивается с другими уровнями изоляции:

Документация MSDN дляSqlConnection.BeginTransaction() также говоритсяRead committed

... To reset the isolation level to the default (READ COMMITTED) ...

Похожие вопросы