Transactionsbefehle MSSQL
Ich soll für die Uni eine Übersicht der MSSQL-Befehle machen, die das Transaktionsverhalten steuern. Natürlich hat man uns eine Übersicht SÄMTLICHER SQL Befehle mitgegeben. Ich habe null Ahnung welches daraus die interessierenden sein sollen. Kann mir vielleicht jemand weiterhelfen?
Welche Isolations-Level sieht der MSSQL-Server überhaupt vor?
Welche Isolations-Level sieht der MSSQL-Server überhaupt vor?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 80333
Url: https://administrator.de/forum/transactionsbefehle-mssql-80333.html
Ausgedruckt am: 06.04.2025 um 16:04 Uhr
4 Kommentare
Neuester Kommentar
Tipp: Lade Dir den SQL2005 Express bei MS runter und schaue in die Online-Hilfe. Da findet sich fast alles.
Aus der Online Hilfe des SQL2000:
In SQL-92 werden die folgenden Isolationsstufen definiert, die auch von SQL Server unterstützt werden:
Commit muss vor Lesevorgang nicht ausgeführt sein (Read Uncommitted) (die unterste Stufe, auf der Transaktionen nur soweit isoliert werden, dass sichergestellt ist, dass keine physisch beschädigten Daten gelesen werden).
Commit muss vor Lesevorgang ausgeführt sein (Read Committed) (Standardstufe von SQL Server).
Repeatable Read.
Serialisierbare Isolationsstufe (Serializable) (die höchste Stufe, auf der Transaktionen vollständig voneinander isoliert werden).
Und der wichtigste zur Steuerung:
SET TRANSACTION ISOLATION LEVEL
Steuert das Standardsperrverhalten von Transaktionen für alle SELECT-Anweisungen von Microsoft® SQL Server™, die von einer Verbindung ausgegeben werden.
Syntax
SET TRANSACTION ISOLATION LEVEL
{ READ COMMITTED
READ UNCOMMITTED
REPEATABLE READ
| SERIALIZABLE
}
Und unter siehe auch bei Expliziten Transaktionen finden sich:
BEGIN DISTRIBUTED TRANSACTION
BEGIN TRANSACTION
COMMIT TRANSACTION
COMMIT WORK
ROLLBACK TRANSACTION
ROLLBACK WORK
SAVE TRANSACTION
SET IMPLICIT_TRANSACTIONS
@@TRANCOUNT
Damit dürften wir die wichtigsten erledigt haben.
Ansonsten: http://msdn2.microsoft.com/en-us/library/ms175523.aspx (Controlling Transactions in SQL2005)
Aus der Online Hilfe des SQL2000:
In SQL-92 werden die folgenden Isolationsstufen definiert, die auch von SQL Server unterstützt werden:
Commit muss vor Lesevorgang nicht ausgeführt sein (Read Uncommitted) (die unterste Stufe, auf der Transaktionen nur soweit isoliert werden, dass sichergestellt ist, dass keine physisch beschädigten Daten gelesen werden).
Commit muss vor Lesevorgang ausgeführt sein (Read Committed) (Standardstufe von SQL Server).
Repeatable Read.
Serialisierbare Isolationsstufe (Serializable) (die höchste Stufe, auf der Transaktionen vollständig voneinander isoliert werden).
Und der wichtigste zur Steuerung:
SET TRANSACTION ISOLATION LEVEL
Steuert das Standardsperrverhalten von Transaktionen für alle SELECT-Anweisungen von Microsoft® SQL Server™, die von einer Verbindung ausgegeben werden.
Syntax
SET TRANSACTION ISOLATION LEVEL
{ READ COMMITTED
READ UNCOMMITTED
REPEATABLE READ
| SERIALIZABLE
}
Und unter siehe auch bei Expliziten Transaktionen finden sich:
BEGIN DISTRIBUTED TRANSACTION
BEGIN TRANSACTION
COMMIT TRANSACTION
COMMIT WORK
ROLLBACK TRANSACTION
ROLLBACK WORK
SAVE TRANSACTION
SET IMPLICIT_TRANSACTIONS
@@TRANCOUNT
Damit dürften wir die wichtigsten erledigt haben.
Ansonsten: http://msdn2.microsoft.com/en-us/library/ms175523.aspx (Controlling Transactions in SQL2005)
Ich nehme an, Du meinst den Unterschied zwischen Transaction Level READCOMMITTED mit der Datenbank-Option READ_COMMITTED_SNAPSHOT auf ON und dem Transaction Level SNAPSHOT?
Beim Lesen der Doku denke ich, daß es da keinen Unterschied gibt. Allerdings gabs den Level SNAPSHOT unter SQL 2000 noch nicht, eventuell gibts deswegen die beiden Varianten.
Beim Lesen der Doku denke ich, daß es da keinen Unterschied gibt. Allerdings gabs den Level SNAPSHOT unter SQL 2000 noch nicht, eventuell gibts deswegen die beiden Varianten.