W SQL Server 2005/2008, jak mogę sprawdzić, czy izolacja migawki jest włączona? Wiem, jak to włączyć, ale nie mogę znaleźć inkantacji, aby google powiedział mi, jak zapytać o stan opcji izolacji migawki.
W SQL Server 2005/2008, jak mogę sprawdzić, czy izolacja migawki jest włączona? Wiem, jak to włączyć, ale nie mogę znaleźć inkantacji, aby google powiedział mi, jak zapytać o stan opcji izolacji migawki.
Odpowiedzi:
Powershell, naprawdę? co jest nie tak z dobrze zaprojektowanym T-SQL?
sys.databases jest tym, czego chcesz. Ma czytelne dla człowieka kolumny opisu, takie jak snapshot_isolation_state_desc
SELECT snapshot_isolation_state_desc from sys.databases
where name='adventureworks'
Rozwijanie odpowiedzi nicków z góry ..
Poniższe informacje zwrócą informacje o wszystkich twoich bazach danych
select name
, s.snapshot_isolation_state
, snapshot_isolation_state_desc
, is_read_committed_snapshot_on
, recovery_model
, recovery_model_desc
, collation_name
from sys.databases s
Lub używając kodu T-SQL:
SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
WHEN 1 THEN 'ON' ELSE 'OFF'
END AS [Read Committed Snapsot State]
FROM sys.databases
WHERE name = 'MyDatabaseName'
Jak sprawdzić, czy poziom izolacji transakcji migawki jest włączony
Aby sprawdzić, czy poziom izolacji transakcji migawki jest włączony, wykonaj następujące kroki:
- Uruchom program SQL Server Profiler.
- Utwórz nowy ślad, aby połączyć się ze źródłem danych określonym w projekcie Analysis Services.
- W oknie dialogowym Właściwości śledzenia kliknij kartę Wybór zdarzeń .
- W kolumnie TransactionID kliknij, aby zaznaczyć pola wyboru w wierszu zdarzenia SQL: BatchCompleted oraz w wierszu zdarzenia SQL: BatchStarting.
Uwaga Aby wyświetlić kolumnę TransactionID, kliknij, aby zaznaczyć pole wyboru Pokaż wszystkie kolumny .
- Kliknij Uruchom, aby rozpocząć śledzenie.
W Business Intelligence Development Studio przetworz projekt Analysis Services.
W SQL Server Profiler poszukaj zdarzeń SQL: BatchCompleted i zdarzeń SQL: BatchStarting, które mają tę samą wartość w kolumnie TransactionID. Zazwyczaj te zdarzenia zawierają instrukcję SELECT w kolumnie TextData. W przypadku tych zdarzeń uzyskaj identyfikator sesji w kolumnie SPID.
Aby połączyć się ze źródłem danych, uruchom SQL Server Management Studio.
Utwórz nowe zapytanie, a następnie uruchom następującą instrukcję Transact-SQL.
wybierz session_id, Transaction_Isolation_Level z sys.dm_exec_sessions gdzie session_id =
Uwaga W tym zestawieniu symbol zastępczy dla identyfikatora sesji uzyskanego w kroku 7.
- Na karcie Wyniki zanotuj wartość w kolumnie Transaction_Isolation_Level. Ta wartość wskazuje poziom izolacji transakcji, którego używasz w projekcie Analysis Services. Gdy poziom izolacji transakcji migawki jest włączony, wartość w kolumnie Transaction_Isolation_Level wynosi 5.
W poniższej tabeli przedstawiono wartości w kolumnie Transaction_Isolation_Level i odpowiadające im poziomy izolacji transakcji.