Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel hilft Ihnen, die Leistungs- und Stabilitätsprobleme zu beheben, die sich aus der Verwendung der Batchmodusverarbeitung im Spaltenspeicher und Rowstore mit großem Seitenspeichermodell in SQL Server ergeben.
Originalproduktversion: SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, SQL Server 2022
Ursprüngliche KB-Nummer: 3210239
Problembeschreibung
In einer Instanz von SQL Server verwenden Sie ablaufverfolgungskennzeichnung 834 oder Ablaufverfolgungskennzeichnung 876 als Startflagge. Möglicherweise haben Sie diesen Vorgang ausgeführt, um große Seitenzuweisungen durch den SQL Server-Speicher-Manager zu aktivieren, um die Leistung der 64-Bit-Instanz zu verbessern.
Sie verwenden die Columnstore-Indizes oder die Batchmodusverarbeitung im Rowstore.
In diesem Szenario treten mindestens eine der folgenden Probleme auf:
Ein nicht zurückgegebener Scheduler-Fehler und zugeordnete Speicherabbilder im SQL Server-Fehlerprotokoll.
Abfragen, die die Batchmodusverarbeitung verwenden, können zu schwerwiegenden Leistungsproblemen führen.
Zugriffsverletzungsausnahmen und zugeordnete Speicherabbilder im SQL Server-Fehlerprotokoll.
Möglicherweise wird beim Ausführen
sp_createstatsdie folgende Fehlermeldung angezeigt:There is insufficient system memory in resource pool 'default' to run this query
Problemumgehung
Um diese Probleme zu beheben, probieren Sie entweder oder beide der folgenden beiden Methoden aus:
Deaktivieren Sie das Speichermodell für große Seiten, indem Sie das Ablaufverfolgungskennzeichnung 834 (
-T834) aus SQL Server-Startparametern in der SQL Server-Instanz entfernen. Wenn Sie diesen Schritt ausführen, beendet SQL Server die Verwendung eineslarge pageSpeichermodells und wird auf einconventionalSpeichermodell oderlock pagesSpeichermodell zurückgesetzt.Wenn Sie in Sql Server keine Columnstore-Indizes verwenden und die beschriebenen Symptome auftreten, können Sie den Batchmodus im Rowstore auf Datenbankebene mithilfe von
ALTER DATABASE SCOPED CONFIGURATION SET BATCH_MODE_ON_ROWSTORE = OFF. Weitere Informationen finden Sie unter ALTER DATABASE SCOPED CONFIGURATION.