Wie kann man den Isolation-Level der Datenbank ermitteln?

Wie kann man den Isolation-Level der Datenbank ermitteln?

Der Isolation-Level steuert, wie die Datenbank mit Statements umgeht und welche Sperren es gibt. 

Zum Nachlesen:
https://de.wikipedia.org/wiki/Isolation_(Datenbank)  
https://learn.microsoft.com/de-de/sql/t-sql/statements/set-transaction-isolation-level-transact-sql?view=sql-server-2017

ReadCommitted ist der Standard. Mit anderen Worten bedeutet es, dass es Sperren gibt, wenn Daten geschrieben oder geändert werden. Die Prozesse warten aufeinander. Im allgemeinen gibt es Zeilensperren. Es ist ein sicherer Weg aus Daten-Sicht, kein Datenverlust und immer Anzeige der aktuellen Daten. Allerdings kann es bei vielen Anfragen/Updates auf einer Tabelle zu Deadlocks kommen. Sollten die Deadlocks nicht mit Setzen von Indexen oder Erweiterung des Speichers des MSSQLServer (RAM und CPU sowie Plattenplatz oder auch schnelle Festplatte) oder anderen Optimierungen behebbar sein, kann man über das Umstellen nachdenken.
Bitte die Risiken beachten! 

Schritt-für-Schritt-Anleitung

Abfrage des aktuellen Isolation-Levels

  1. Eine ODBC-Datenbankverbindung herstellen, entweder per MSSQL Management-Studio oder einem ODBC-Tool, z. Bsp. winsql.exe ... 

  2. Mit der Datenbank verbinden, von welcher die Daten ermittelt werden sollen. 

  3. Dieses Statement absetzen: 

    USE [meineDatenbank]; SELECT CASE transaction_isolation_level WHEN 0 THEN 'Unspecified' WHEN 1 THEN 'ReadUncommitted' WHEN 2 THEN 'ReadCommitted' WHEN 3 THEN 'Repeatable' WHEN 4 THEN 'Serializable' WHEN 5 THEN 'Snapshot' END AS TRANSACTION_ISOLATION_LEVEL FROM sys.dm_exec_sessions where session_id = @@SPID;


    Beispiel mit Ergebnis: 
    Diese Datenbank hat Standard = ReadCommitted.

     

 

Wir empfehlen generell Standard = ReadCommitted.  

In speziellen Fällen kann es helfen, RepeatableRead zu setzen. Bei Performanceproblemen, die nicht mit Indexen oder Speichererweiterung des MSSQL-Servers behoben werden können, kann Snapshot eingestellt werden.
Bei Umstellung des Isolationlevels bitte die Risiken beachten! 

Verwandte Artikel