MSSQLSERVER_3961

Details

Produktname

SQL Server

Produktversion

10.50

Buildnummer des Produkts

10.00.1050.6

Ereignis-ID

3961

Ereignisquelle

MSSQLSERVER

Komponente

SQLEngine

Symbolischer Name

XACT_METADATA_INVALID

Meldungstext

Fehler bei der Momentaufnahmeisolationstransaktion in der '%.*ls'-Datenbank, weil das von der Anweisung zugegriffene Objekt durch eine DDL-Anweisung in einer anderen gleichzeitigen Transaktion seit dem Beginn dieser Transaktion geändert wurde. Dies ist nicht zulässig, weil die Metadaten nicht versionsspezifisch sind. Die gleichzeitige Aktualisierung von Metadaten kann in Kombination mit der Momentaufnahmeisolation zu Inkonsistenzen führen.

Erklärung

Dieser Fehler kann auftreten, wenn Metadaten unter der Momentaufnahmeisolation abgefragt werden und gleichzeitig eine DDL-Anweisung vorhanden ist, mit der die Metadaten aktualisiert werden, auf die unter der Momentaufnahmeisolation zugegriffen wird. SQL Server unterstützt keine Versionsverwaltung von Metadaten. Aus diesem Grund gibt es bezüglich der DDL-Vorgänge, die in einer unter Momentaufnahmeisolation ausgeführten expliziten Transaktion ausgeführt werden, Einschränkungen. Eine implizite Transaktion ist definitionsgemäß eine einzelne Anweisung, mit der die Semantik der Momentaufnahmeisolation auch in DDL-Anweisungen erzwungen werden kann. Die folgenden DDL-Anweisungen sind nach einer BEGIN TRANSACTION-Anweisung unter Momentaufnahmeisolation nicht zulässig: ALTER TABLE, CREATE INDEX, CREATE XML INDEX, ALTER INDEX, DROP INDEX, DBCC REINDEX, ALTER PARTITION FUNCTION, ALTER PARTITION SCHEME sowie alle CLR (Common Language Runtime)-DDL-Anweisungen. Diese Anweisungen sind zulässig, wenn die Momentaufnahmeisolation in impliziten Transaktionen verwendet wird. Eine implizite Transaktion ist definitionsgemäß eine einzelne Anweisung, mit der die Semantik der Momentaufnahmeisolation auch in DDL-Anweisungen erzwungen werden kann.

Benutzeraktion

Ändern Sie die Momentaufnahmeisolationsstufe vor dem Abfragen von Metadaten in eine Isolationsstufe, bei der es sich nicht um eine Momentaufnahmeisolationsstufe handelt, z. B. Read Committed.