Freigeben über


Leistungsbeeinträchtigung in SQL Server mit aktivierter Kompatibilität allgemeiner Kriterien

Problembeschreibung

Wenn sie die allgemeine Kompatibilitätskonfigurationsoption für Kriterien in SQL Server aktiviert haben, stellen Sie möglicherweise eine Beeinträchtigung der SQL Server-Leistung fest.

Allgemeine Kriterienkompatibilität

Nachdem Sie die Option für die Kompatibilität allgemeiner Kriterien in SQL Server aktiviert haben, können Sie warten und allgemeine Kriterien für die Complianceüberwachungsüberwachung sperren, wenn mehrere gleichzeitige Authentifizierungen dieselbe Anmeldung verwenden.

Nach dem Aktivieren dieser Option treten möglicherweise langsame Leistungseinbußen auf. Darüber hinaus werden möglicherweise hohe LCK_M_SCH_M Wartezeiten in Leistungsstatistiken angezeigt. LCK_M_SCH_M ist eine Schemaänderungssperre, die den Zugriff auf eine Tabelle verhindert, während ein DDL-Vorgang (Data Definition Language) auftritt. Sie finden auch blockierte Prozessdatensätze, bei denen eine LOGIN_STATS Tabelle in der Masterdatenbank lange wartet. Diese Tabelle wird verwendet, um Anmeldestatistiken zu halten. Wenn viele Anmeldungen und Abmelden vorhanden sind, kann dies in dieser Tabelle zu einem Streit kommen.

Führen Sie die folgenden Befehle aus, um zu verstehen, warum ein LCK_M_SCH_M Wait-Ereignis auftritt:

CREATE EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
ADD EVENT sqlos.wait_info(
    ACTION(package0.callstack,sqlserver.create_dump_all_threads)
    WHERE (([opcode]=('Begin')) AND ([wait_type]=('LCK_M_SCH_M'))))
ADD TARGET package0.event_file(SET filename=N'CreateDumpOnLCKMSCHM',max_file_size=(128))
GO

ALTER EVENT SESSION [TestCreateDump] ON SERVER
STATE = START
GO

WHILE ((SELECT COUNT(1) FROM sys.dm_server_memory_dumps) < 5)
BEGIN
       WAITFOR DELAY '00:00:00.100'

END

ALTER EVENT SESSION [CreateDumpOnLCKMSCHM] ON SERVER
STATE = STOP

Wenn Sie allgemeine Kriterienkonformität aktivieren, ist auch eine Sicherheitsmaßnahme mit dem Namen Restinformationsschutz (Restinformationsschutz, RIP) aktiviert. Bei RIP muss eine Speicherbelegung mit einem bekannten Muster von Bits überschrieben werden, bevor der Arbeitsspeicher wieder einer neuen Quelle zugewiesen wird. Bei vielen Anmeldungen und Abmeldungen gibt es also eine Leistungsbeeinträchtigung im Arbeitsspeicher, da das Überschreiben der Speicherzuweisung erforderlich ist.

Problemumgehung

Wenn die Einhaltung allgemeiner Kriterien keine strikte Anforderung ist, sollten Sie sie deaktivieren, um den Überwachungsaufwand zu verringern und die Leistung zu verbessern. Führen Sie zum Deaktivieren der Option die folgenden Befehle aus:

sp_configure 'common criteria compliance enabled', 0
GO
RECONFIGURE
GO

Nachdem Sie die Konfiguration geändert haben, starten Sie die SQL Server-Dienste neu, damit die Änderungen wirksam werden.

Weitere Informationen

Konfiguration von Servern mit aktivierter Common Criteria-Konformität