Каковы последствия установки ALLOW_SNAPSHOT_ISOLATION ON?

Следует ли запускать

ALTER DATABASE DbName SET ALLOW_SNAPSHOT_ISOLATION OFF

, если изоляция транзакции моментального снимка (TX) (iso) временно не используется?
Другими словами,

  • почему он должен быть включен в первую очередь?
  • Почему он не включен по умолчанию?

Сколько стоит его включение (но временно не используется) в SQL Server?


- Обновление:
включение ISO-уровня TX моментального снимка в базе данных не изменяет ISO-код READ COMMITTED tx на значение по умолчанию.
Вы можете проверить это, выполнив:

use someDbName;
--( 1 )
alter database someDbName set allow_snapshot_isolation ON;
dbcc useroptions;

последняя строка показывает, что iso-уровень tx текущего сеанса (чтение подтверждено).

Таким образом, включение iso-уровня tx снимка без изменения его не использует и т. Д. Чтобы использовать его, необходимо выполнить

--( 2 )
SET TRANSACTION ISOLATION LEVEL SNAPSHOT

Update2:
Я повторяю сценарии из [1], но с включенным (но не включенным) SNAPSHOT, но без включения READ_COMMITTED_SNAPSHOT

--with enabling allow_snapshot_isolation
alter database snapshottest set allow_snapshot_isolation ON

-- but without enabling read_committed_snapshot
--alter database snapshottest set read_committed_snapshot ON
-- OR with OFF
alter database snapshottest set read_committed_snapshot OFF 
go

Нет результатов / строк из выполнения

select * from sys.dm_tran_version_store

после выполнения INSERT, DELETE или UPDATE

Не могли бы вы предоставить мне сценарии, иллюстрирующие, что при включенном уровне ISO SNAPSHOT tx (1), но не включенном (2) создаются любые версии в tempdb и / или увеличивается размер данных с 14 байтами в строке?
На самом деле я не понимаю, какой смысл в управлении версиями, если оно включено (1), но не используется (не установлено (2))?

[1]
Управление TempDB в SQL Server: основы TempDB (Магазин версий: простой пример)
http://blogs.msdn.com/b/sqlserverstorageengine/archive/2008/12/31/managing-tempdb-in-sql -server-tempdb-basics-version-store-simple-example.aspx

16
задан Gennady Vanin Геннадий Ванин 7 November 2010 в 18:56
поделиться