Wir müssen das SQL Server-Ablaufverfolgungsflag 7646 verwenden , um das Blockieren von Volltext zu verringern, aber ich war bestürzt, als ich feststellte, dass das Ablaufverfolgungsflag selbst "nicht gesetzt" war, wahrscheinlich, als der Datenbankserver neu gestartet wurde.
Ich habe benutzt
DBCC TRACEON (7646, -1)
um das Trace Flag zu setzen und
DBCC TRACESTATUS
um alle Trace-Flags anzuzeigen, die mir sagten, dass sie nicht gesetzt waren (nach einem Neustart, denke ich). Um das Trace-Flag dauerhaft zu setzen, habe ich Folgendes getan:
- ging zu SQL Server Configuration Manager
- Eigenschaften für SQL Server-Dienst angezeigt
- besuchte die Registerkarte Erweitert
- hat die Option Startup Parameters bearbeitet
und fügte hinzu
; -T {tracenumber}
bis zum Ende, wie so ...
-dD: \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ master.mdf; -eD: \ MSSQL10.MSSQLSERVER \ MSSQL \ Log \ ERRORLOG; -lD: \ MSSQL10.MSSQLSERVER \ MSSQL \ DATA \ mastlog.ldf ; -T7646
Ist das korrekt? Ich finde widersprüchliche Ergebnisse in der Syntax für SQL Server-Startparameter .
quelle
select * from sys.dm_server_registry where value_name like 'SQLArg%'
Antworten:
Ja, das wird es für dich tun. Verwenden des Startparameters -T {traceflag}.
quelle
Etwas, was ich auf die harte Tour gelernt habe, ist, dass man vor jedem Trace-Flag ein Semikolon haben muss. Wenn Sie beispielsweise die Protokollierung von Deadlock-Informationen in einer Datei aktivieren, würde Ihr Beispiel folgendermaßen aussehen:
Leerzeichen zwischen Ablaufverfolgungsflags bewirken, dass die späteren Flags ignoriert werden.
quelle