Udostępnij za pośrednictwem


Enabling Row Versioning-Based Isolation Levels

Administrator bazy danych kontrolować ustawienia poziom bazy danych do przechowywania wersji wiersza przy użyciu opcji READ_COMMITTED_SNAPSHOT i ALLOW_SNAPSHOT_ISOLATION bazy danych w instrukcja ALTER DATABASE.

Gdy opcja READ_COMMITTED_SNAPSHOT bazy danych jest zestaw ON, mechanizmy, używane do obsługi opcji są natychmiast aktywowany.Podczas ustawiania opcji READ_COMMITTED_SNAPSHOT, tylko wykonywania polecenia ALTER DATABASE połączenie jest dozwolone w bazie danych.Musi istnieć nie inne otwarte połączenie bazy danych, aż do zakończenia ALTER DATABASE.Baza danych nie ma być tryb jednego użytkownika.

Poniżej Transact-SQL Instrukcja włącza READ_COMMITTED_SNAPSHOT:

ALTER DATABASE AdventureWorks
    SET READ_COMMITTED_SNAPSHOT ON;

When the ALLOW_SNAPSHOT_ISOLATION database option is set ON, the instance of the Microsoft SQL Server Database Engine does not generate row versions for modified data until all active transactions that have modified data in the database complete.Jeśli istnieją transakcje modyfikacji aktywnej SQL Server Ustawia stan opcję PENDING_ON. Po wszystkich transakcji modyfikacji zakończenie stanu opcji zostanie zmieniona na ON.Użytkownicy nie można rozpocząć transakcji migawka znajdujących się w bazie danych, dopóki opcja jest w pełni ON.Bazy danych przechodzi przez stan PENDING_OFF, gdy administrator bazy danych ustawi opcję ALLOW_SNAPSHOT_ISOLATION OFF.

Poniżej Transact-SQL instrukcja umożliwi ALLOW_SNAPSHOT_ISOLATION:

ALTER DATABASE AdventureWorks
    SET ALLOW_SNAPSHOT_ISOLATION ON;

W poniższej tabela wymieniono i opisano stany opcji ALLOW_SNAPSHOT_ISOLATION.Przy użyciu instrukcji ALTER DATABASE z opcją ALLOW_SNAPSHOT_ISOLATION nie blokuje użytkowników, którzy aktualnie uzyskują dostęp do danych w bazie danych.

Stan migawka izolacji ramy dla bieżącej bazy danych

Description

WYŁĄCZANIE

Nie włączono obsługę migawka izolacji transakcji.Brak migawka izolacji transakcji są dozwolone.

PENDING_ON

Obsługę migawka izolacji transakcji jest w stanie przejść (z OFF on).Należy wypełnić otwarte transakcje.

Brak migawka izolacji transakcji są dozwolone.

DALEJ

Włączono obsługę migawka izolacji transakcji.

Dozwolone są transakcje migawka.

PENDING_OFF

Obsługę migawka izolacji transakcji znajduje się w stanie przejść (z ON do OFF).

Migawkę transakcje uruchomione po tym czasie nie można uzyskać dostępu do tej bazy danych.Aktualizacja transakcji płatności nadal koszt przechowywania wersji w tej bazie danych.Istniejące transakcje migawka nadal mogą uzyskać dostęp do tej bazy danych bez problemu.Stan PENDING_OFF stają się OFF do wszystkich transakcji migawki, które były aktywne podczas stanu izolacji migawka bazy danych został ON zakończy.

Użycie sys.Databases wykazu widoku do określania stanu obie opcje wiersz wersji bazy danych.

Wszystkie aktualizacje tabel użytkownika i niektóre tabele systemowe przechowywane w wzorzec and msdb Generowanie wersji wiersza.

Opcji ALLOW_SNAPSHOT_ISOLATION jest automatycznie ustawiana na wzorzec and msdb baz danych i nie można go wyłączyć.

Użytkownicy nie zestaw opcję READ_COMMITTED_SNAPSHOT ON w wzorzec, tempdb, or msdb.