Symptome
Angenommen, Sie verwenden eine Sitzung, die eine gespeicherte CLR-Prozedur (Common Language Runtime) aufruft, um auf Daten in Microsoft SQL Server zuzugreifen, und diese Prozedur stellt wiederum eine separate Verbindung (eine "zweite Sitzung") mit demselben Server anstelle einer Kontextverbindung her. Wenn die aufrufende Sitzung aufgrund einer Zeitüberschreitung oder eines Abbruchs beendet wird, kann die zweite Sitzung verwaist sein und im System vorhanden sein, bis sie manuell mit dem Befehl KILL beendet wird. Wenn diese verwaiste Sitzung Sperren enthält, werden andere Sitzungen möglicherweise blockiert und warten darauf, dass die Sperren freigegeben werden.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.
Lösung
Dieses Problem wurde in den folgenden kumulativen Updates für SQL Server behoben:
Informationen zu kumulativen Updates für SQL Server:
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen kumulativen Update enthalten waren. Hier finden Sie die neuesten kumulativen Updates für SQL Server.
Hinweis Der Fix ist standardmäßig deaktiviert, da das Legacyverhalten von CLR-Threading in SQL Server beibehalten werden muss. Sie müssen sie nur aktivieren, wenn Ihr System die zuvor genannten Symptome aufweist. Um die Korrektur zu aktivieren, müssen Sie dem Server das Ablaufverfolgungsflag 6559 mithilfe der Startoptionen des Datenbankmoduldiensts hinzufügen. Beachten Sie, dass dieses Ablaufverfolgungsflag nur in Verbindung mit SQL Server-Startoptionen verwendet werden kann. Sie kann nicht mit dem Befehl DBCC TRACEON festgelegt werden.
Referenzmaterial
Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.