Symptome
Nehmen Sie folgendes Szenario an:
- Sie haben SQL Server 2016 und 2017 installiert.
- Sie verwenden rpc_starting, rpc_completed, RPC:Starting, RPC:Completed oder Audit Schema Object Access SQL Server erweiterte Ereignisse oder SQL Server Profiler, um RPC-Ereignisse zu verfolgen.
- Sie verwenden einen Remoteprozeduraufruf, der Tabellenwertparameter (TVP) enthält, die viele Zeilen enthalten.
In diesem Szenario kann es zu einer übermäßigen Arbeitsspeicherauslastung kommen, und die Serverleistung kann sinken. Wenn Sie die sys.dm_os_memory_clerks DMV abfragen, stellen Sie fest, dass der OBJECTSTORE_LBSS über viele Speicherbelegungen verfügt, im Vergleich zu der Zeit, in der keine laufende RPC-Ablaufverfolgung erfasst wird.
Lösung
Dieses Problem wird durch die folgenden Updates für SQL Server behoben:
Kumulatives Update 13 für SQL Server 2017
Kumulatives Update 12 für SQL Server 2017
Kumulatives Update 4 für SQL Server 2016 SP2
Hinweis
- Nachdem dieses Update angewendet wurde, begrenzt der Fix die Anzahl der verfolgten Zeilen für TVP in jedem Ereignis. Dies bedeutet, dass ein nachverfolgtes Ereignis möglicherweise nicht alle Zeilen in TVP enthält.
- Eine weitere Fehlerbehebung, bei der SQL Server Problem mit nicht genügend Arbeitsspeicher bei der Erfassung von TVP behoben wurde, finden Sie in KB 4051359.
Informationen zu SQL Server-Builds
Jeder neue Build für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen Build enthalten waren. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:
SQL Server 2017-Buildversionen
Neuestes kumulative Update für SQL Server 2016
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Referenzmaterial
Erfahren Sie mehr über die Standardterminologie , die Microsoft zur Beschreibung von Softwareupdates verwendet.