War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
Ablaufverfolgungsflags (Transact-SQL)
Collapse the table of content
Expand the table of content
Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Ablaufverfolgungsflags (Transact-SQL)

Ablaufverfolgungsflags werden zur temporären Festlegung bestimmter Servereigenschaften oder zum Ausschalten eines bestimmten Verhaltens verwendet. Wenn z. B. das Ablaufverfolgungsflag 3205 beim Starten einer Instanz von SQL Server festgelegt ist, wird die Hardwarekomprimierung der Treiber für Bandlaufwerke deaktiviert. Häufig werden Ablaufverfolgungsflags zur Diagnose der Systemleistung und zum Debuggen von gespeicherten Prozeduren oder komplexen Computersystemen verwendet.

In der folgenden Tabelle werden die in SQL Server verfügbaren Ablaufverfolgungsflags aufgelistet und beschrieben.

Hinweis Hinweis

Das Verhalten von Ablaufverfolgungsflags wird in zukünftigen Versionen von SQL Server möglicherweise nicht mehr unterstützt.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Ablaufverfolgungsflag

Beschreibung

260

Druckt die Versionsinformationen zu den DLLs (Dynamic Link Libraries) von erweiterten gespeicherten Prozeduren. Weitere Informationen zu __GetXpVersion() finden Sie unter Erstellen erweiterter gespeicherter Prozeduren.

Bereich: global oder Sitzung

634

Deaktiviert die im Hintergrund ausgeführte Columnstore-Komprimierung. SQL Server führt regelmäßig einen Hintergrundtask aus, durch den Zeilengruppen des columnstore-Indexes mit nicht komprimierten Daten komprimiert werden. Dieser Task wird pro Zeilengruppe ausgeführt. Die Columnstore-Komprimierung verbessert die Abfrageleistung, beansprucht gleichzeitig aber auch Systemressourcen. Sie können die zeitliche Steuerung der Columnstore-Komprimierung manuell vornehmen, indem Sie die Hintergrundkomprimierung mit Ablaufverfolgungsflag 634 deaktivieren und anschließend zu einem beliebigen Zeitpunkt explizit ALTER INDEX REORGANIZE oder ALTER INDEX REBUILD aufrufen.

Bereich: nur global

1118

Entfernt die meisten Zuordnungen einzelner Seiten auf dem Server, wodurch Konflikte auf der SGAM-Seite reduziert werden. Wenn ein neues Objekt erstellt wird, werden standardmäßig die ersten acht Seiten aus unterschiedlichen Blöcken (gemischte Blöcke) zugeordnet. Wenn später mehr Seiten benötigt werden, werden sie aus demselben Block (einheitlicher Block) zugeordnet. Die SGAM-Seite wird zum Nachverfolgen dieser gemischten Blöcke verwendet, so dass es schnell zu einem Engpass kommen kann, wenn zahlreiche Zuordnungen aus gemischten Blöcken auftreten. Dieses Ablaufverfolgungsflag ordnet beim Erstellen neuer Objekte alle acht Seiten aus demselben Block zu, wodurch die erforderliche Überprüfung der SGAM-Seite minimiert wird.

Bereich: nur global

1204

Gibt die an einem Deadlock beteiligten Ressourcen und Sperrentypen sowie den aktuell betroffenen Befehl zurück.

Bereich: nur global

1211

Deaktiviert die Sperrenausweitung basierend auf nicht ausreichendem Arbeitsspeicher oder auf der Anzahl von Sperren. SQL Server-Datenbankmodul weitet keine Zeilen- oder Seitensperren zu Tabellensperren aus.

Die Verwendung dieses Ablaufverfolgungsflags kann eine übermäßige Anzahl von Sperren generieren. Dies kann die Leistung des Datenbankmoduls verlangsamen oder 1204-Fehler (Sperrenressource kann nicht zugeordnet werden) aufgrund von nicht genügend Arbeitsspeicher verursachen.

Wenn sowohl das Ablaufverfolgungsflag 1211 als auch das Ablaufverfolgungsflag 1224 festgelegt wurde, dann hat 1211 Vorrang gegenüber 1224. Weil jedoch das Ablaufverfolgungsflag 1211 die Ausweitung in jedem Fall verhindert, auch bei nicht genügend Arbeitsspeicher, wird die Verwendung von 1224 empfohlen. Dies hilft, Fehler aufgrund von nicht genügend Sperren zu vermeiden, wenn viele Sperren verwendet werden.

Bereich: global oder Sitzung

1222

Gibt die an einem Deadlock beteiligten Ressourcen und Sperrentypen sowie den aktuell betroffenen Befehl in einem XML-Format zurück, das keinem XSD-Schema entspricht.

Bereich: nur global

1224

Deaktiviert die Sperrenausweitung basierend auf der Anzahl von Sperren. Die Sperrenausweitung kann dennoch durch nicht ausreichenden Arbeitsspeicher aktiviert werden. Datenbankmodul weitet Zeilen- oder Seitensperren nur dann zu Tabellensperren (oder Partitionssperren) aus, wenn der von Sperrenobjekten belegte Arbeitsspeicher einen der folgenden Grenzwerte überschreitet:

  • Vierzig Prozent des Arbeitsspeichers, der von Datenbankmodul verwendet wird. Dies gilt nur, wenn der Sperren-Parameter von sp_configure auf 0 festgelegt ist.

  • 40 % des Sperrspeichers, der über den Sperren-Parameter von sp_configure konfiguriert wurde. Weitere Informationen finden Sie unter Serverkonfigurationsoptionen (SQL Server).

Wenn sowohl das Ablaufverfolgungsflag 1211 als auch das Ablaufverfolgungsflag 1224 festgelegt wurde, dann hat 1211 Vorrang gegenüber 1224. Weil jedoch das Ablaufverfolgungsflag 1211 die Ausweitung in jedem Fall verhindert, auch bei nicht genügend Arbeitsspeicher, wird die Verwendung von 1224 empfohlen. Dies hilft, Fehler aufgrund von nicht genügend Sperren zu vermeiden, wenn viele Sperren verwendet werden.

Hinweis Hinweis

Die Ausweitung von Sperren auf Tabellen- oder HoBT-Ebene kann auch mithilfe der LOCK_ESCALATION-Option der ALTER TABLE-Anweisung gesteuert werden.

Bereich: global oder Sitzung

1448

Aktiviert den Replikationsprotokolleser, sodass er weitergehen kann, auch wenn die asynchronen sekundären Elemente den Empfang einer Änderung nicht bestätigt haben. Auch wenn dieses Ablaufverfolgungsflag aktiviert ist, wartet der Protokollleser immer auf den synchronen sekundären Elemente. Der Protokollleser geht nicht über "min ack" für die synchronen sekundären Elemente hinaus. Dieses Ablaufverfolgungsflag gilt für die Instanz von SQL Server, nicht nur eine Verfügbarkeitsgruppe, eine Verfügbarkeitsdatenbank oder eine Protokollleserinstanz. Wird sofort ohne Neustart wirksam. Dieses Ablaufverfolgungsflag im Voraus oder beim Fehlschlagen eines sekundären Elements aktiviert werden.

2528

Deaktiviert die parallele Prüfung von Objekten durch DBCC CHECKDB, DBCC CHECKFILEGROUP und DBCC CHECKTABLE. Standardmäßig wird der Grad der Parallelität automatisch durch den Abfrageprozessor bestimmt. Der maximale Grad der Parallelität wird auf dieselbe Weise konfiguriert wie der maximale Grad bei parallelen Abfragen. Weitere Informationen finden Sie unter Konfigurieren der Serverkonfigurationsoption Max. Grad an Parallelität.

Das parallele Ausführen von DBCC sollte normalerweise aktiviert bleiben. Für DBCC CHECKDB wertet der Abfrageprozessor die Parallelität bei jeder überprüften Tabelle oder jedem überprüften Tabellenbatch erneut aus und passt sie automatisch an. Manchmal wird die Überprüfung möglicherweise gestartet, wenn sich der Server nahezu im Leerlauf befindet. Ein Administrator, der weiß, dass sich die Last vor Beendigung der Überprüfung erhöht, kann die Parallelität manuell verringern oder deaktivieren.

Das Deaktivieren der parallelen Überprüfung von DBCC kann zur Folge haben, dass der Abschluss von DBCC wesentlich länger dauert, und wenn DBCC mit aktivierter TABLOCK-Funktion und deaktiviertem Parallelismus ausgeführt wird, werden Tabellen möglicherweise für längere Zeit gesperrt.

Bereich: global oder Sitzung

3042

Umgebt den standardmäßigen Vorabzuordnungsalgorithmus für die Sicherungskomprimierung, damit die Sicherungsdatei nur dem Bedarf entsprechend anwächst, bis sie ihre endgültige Größe erreicht. Dieses Ablaufverfolgungsflag ist nützlich, wenn Sie Speicherplatz einsparen müssen, indem Sie nur die tatsächliche für die komprimierte Sicherung benötigte Größe zuordnen. Dieses Ablaufverfolgungsflag kann eine leichte Leistungseinbuße (eine mögliche Verlängerung des Sicherungsvorgangs) verursachen.

Weitere Informationen zum Vorabzuordnungsalgorithmus finden Sie unter Sicherungskomprimierung (SQL Server).

3205

Wenn ein Bandlaufwerk die Hardwarekomprimierung unterstützt, wird dies standardmäßig von der DUMP- oder der BACKUP-Anweisung verwendet. Mit diesem Ablaufverfolgungsflag kann die Hardwarekomprimierung für Treiber des Bandlaufwerkes deaktiviert werden. Diese Deaktivierung ist hilfreich, wenn Sie Datenbänder mit anderen Standorten oder mit Bandlaufwerken austauschen möchten, die keine Datenkomprimierung unterstützen.

Bereich: global oder Sitzung

3226

Standardmäßig wird bei jedem erfolgreichen Sicherungsvorgang dem SQL Server-Fehlerprotokoll und dem Systemereignisprotokoll ein Eintrag hinzugefügt. Wenn Sie das Protokoll regelmäßig sichern, kann die Anzahl dieser Erfolgsmeldungen schnell ansteigen, d. h., es entstehen sehr große Fehlerprotokolle, die das Suchen nach anderen Meldungen erschweren können.

Mit diesem Ablaufverfolgungsflag können Sie diese Protokolleinträge unterdrücken. Dies ist hilfreich, wenn Sie regelmäßig Protokollsicherungen ausführen und keines der Skripts von diesen Einträgen abhängig ist.

3608

Hindert SQL Server daran, automatisch zu starten und außer der master-Datenbank eine Datenbank wiederherzustellen. Wenn Aktivitäten, für die tempdb erforderlich ist, initiiert werden, wird model wiederherstellt und tempdb erstellt. Andere Datenbanken werden gestartet und wiederhergestellt, wenn darauf zugegriffen wird. Einige Funktionen, z. B. Momentaufnahmeisolation und Read Committed-Momentaufnahme, funktionieren möglicherweise nicht. Verwenden Sie dies für Verschieben von Systemdatenbanken und Verschieben von Benutzerdatenbanken. Verwenden Sie es nicht im Normalbetrieb.

3625

Beschränkt die an Benutzer, die nicht Mitglieder der festen Serverrolle sysadmin sind, zurückgegebene Menge von Informationen, indem die Parameter einiger Fehlermeldungen mit "******" maskiert werden. Dadurch kann verhindert werden, dass vertrauliche Informationen offen gelegt werden.

Bereich: nur global

4199

Steuert mehrere Abfrageoptimiereränderungen, die zuvor unter mehreren Ablaufverfolgungsflags vorgenommen wurden. Weitere Informationen finden Sie im folgenden Microsoft Support-Artikel.

Bereich: global oder Sitzung

4616

Macht Metadaten auf Serverebene für Anwendungsrollen sichtbar. In SQL Server kann von einer Anwendungsrolle nicht auf Metadaten außerhalb ihrer eigenen Datenbank zugegriffen werden, da Anwendungsrollen keinem Prinzipal auf Serverebene zugeordnet sind. Dieses Verhalten unterscheidet sich von früheren Versionen von SQL Server. Durch Festlegen dieses globalen Flags werden die neuen Einschränkungen deaktiviert, und der Zugriff von Anwendungsrollen auf Metadaten auf Serverebene wird zugelassen.

Bereich: nur global

6527

Deaktiviert die Erstellung eines Speicherdumps beim ersten Auftreten einer Ausnahme wegen unzureichenden Arbeitsspeichers in der CLR-Integration. Standardmäßig generiert SQL Server einen kleinen Speicherdump beim ersten Auftreten einer Ausnahme wegen unzureichenden Arbeitsspeichers in der CLR-Integration. Das Ablaufverfolgungsflag verhält sich wie folgt:

  • Wenn dies als Startablaufverfolgungsflag verwendet wird, wird nie ein Speicherdump generiert. Jedoch wird unter Umständen ein Speicherdump generiert, wenn andere Ablaufverfolgungsflags verwendet werden.

  • Wenn dieses Ablaufverfolgungsflag auf einem laufenden Server aktiviert wird, wird ab diesem Punkt nicht automatisch ein Speicherdump generiert. Wenn jedoch aufgrund einer Ausnahme wegen unzureichenden Arbeitsspeichers in der CLR bereits ein Speicherdump generiert wurde, hat dieses Ablaufverfolgungsflag keine Auswirkungen.

Bereich: nur global

7806

Aktiviert eine dedizierte Administratorverbindung (Dedicated Administrator Connection, DAC) in SQL Server Express. Standardmäßig werden in SQL Server Express keine DAC-Ressourcen reserviert. Weitere Informationen finden Sie unter Diagnoseverbindung für Datenbankadministratoren.

Bereich: nur global

8032

Setzt die Cachelimitparameter auf die RTM-Einstellung von SQL Server 2005 zurück, die im Allgemeinen einen größeren Cache zulässt. Verwenden Sie diese Einstellung, wenn häufig wiederverwendete Cacheeinträge nicht in den Cache passen, und wenn das Problem mit dem Plancache durch die Für Ad-hoc-Arbeitsauslastungen optimieren (Serverkonfigurationsoption) nicht behoben werden konnte.

Vorsichtshinweis Vorsicht

Ablaufverfolgungsflag 8032 kann die Leistung mindern, wenn große Caches weniger Arbeitsspeicher für andere Arbeitsspeicherconsumer, z. B. den Pufferpool, verfügbar machen.

8207

Aktiviert Singleton-Updates für die Transaktionsreplikation. Updates auf Abonnenten können als DELETE- und INSERT-Paar repliziert werden. Dabei werden evtl. Geschäftsregeln nicht erfüllt, wie das Auslösen eines UPDATE-Triggers. Mit Ablaufverfolgungsflag 8207 wird ein Update auf eine eindeutige Spalte, das nur eine Zeile betrifft (ein Singleton-Update), als UPDATE- und nicht als DELETE- oder INSERT-Paar repliziert. Wenn das Update eine Spalte, die eine UNIQUE-Einschränkung aufweist, oder mehrere Zeilen betrifft, wird es dennoch als DELETE- oder INSERT-Paar repliziert.

9485

Deaktiviert die SELECT-Berechtigung für DBCC SHOW_STATISTICS.

In SQL Server gibt es zwei Typen von Ablaufverfolgungsflags: Sitzung und global. Ablaufverfolgungsflags vom Typ Sitzung sind für die Dauer einer Verbindung aktiv und nur für diese Verbindung sichtbar. Globale Ablaufverfolgungsflags werden auf Serverebene festgelegt und sind für jede Verbindung auf dem Server sichtbar. Einige Flags können nur als globale Flags aktiviert werden, einige können entweder mit globalem Bereich oder mit Sitzungsbereich aktiviert werden.

Dabei gelten die folgenden Regeln:

  • Ein globales Ablaufverfolgungsflag muss global aktiviert werden. Andernfalls hat das Ablaufverfolgungsflag keine Wirkung. Es wird empfohlen, globale Ablaufverfolgungsflags beim Start mithilfe der Befehlszeilenoption -T zu aktivieren.

  • Ein Ablaufverfolgungsflag mit entweder globalem Bereich oder Sitzungsbereich kann mit dem jeweils geeigneten Bereich aktiviert werden. Ein auf Sitzungsebene aktiviertes Ablaufverfolgungsflag wirkt sich nie auf andere Sitzungen aus, und die Wirkung des Ablaufverfolgungsflags endet mit der Abmeldung der SPID, die die Sitzung geöffnet hat.

Ablaufverfolgungsflags werden mithilfe einer der folgenden Methoden auf on oder off festgelegt:

  • Mithilfe der Befehle DBCC TRACEON und DBCC TRACEOFF.

    Beispiel DBCC TRACEON 2528: Verwenden Sie DBCC TRACEON mit dem Argument -1, um das Ablaufverfolgungsflag global zu aktivieren: DBCC TRACEON (2528, -1). Verwenden Sie DBCC TRACEOFF mit dem Argument -1, um ein globales Ablaufverfolgungsflag zu deaktivieren.

  • Verwenden Sie die Startoption -T, um anzugeben, dass das Ablaufverfolgungsflag beim Start auf on festgelegt werden soll.

    Durch die Startoption -T wird ein Ablaufverfolgungsflag global aktiviert. Ablaufverfolgungsflags auf Sitzungsebene können nicht mit einer Startoption aktiviert werden. Weitere Informationen zu Startoptionen finden Sie unter Startoptionen für den Datenbankmoduldienst.

Verwenden Sie den DBCC TRACESTATUS-Befehl, um zu bestimmen, welche Ablaufverfolgungsflags zurzeit aktiv sind.

Im folgenden Beispiel wird das Ablaufverfolgungsflag 3205 mithilfe von DBCC TRACEON auf on festgelegt.

DBCC TRACEON (3205,-1);

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft