Applies ToSQL Server 2019 on Linux SQL Server 2019 on Windows

Problembeschreibung

Wenn für den SQL-Plan die überlappende Ausführung aktiviert ist und die OPTION-Klausel (OPTIMIZE FOR) verwendet wird, liefert die Tabellenwertfunktion (TVF), die einen Parameter verwendet, der in derselben SQL-Anweisung übergeben wird, bei der ersten Ausführung falsche Ergebnisse.

Lösung

Dieses Problem wurde im folgenden kumulativen Update für SQL Server behoben:

Kumulatives Update 19 für SQL Server 2019

Hinweis Hier ist ein Beispiel dafür, dass nach der Installation dieses kumulativen Updates keine verschachtelte Ausführung verwendet wird:

DECLARE @start smalldatetime SELECT count(*) FROM dbo.GetData(@start) OPTION (OPTIMIZE FOR (@start = '2022-05-23T06:00:00')) CREATE FUNCTION [dbo].[GetData] (   @start datetime ) RETURNS TABLE AS RETURN SELECT t.id FROM dbo.TestTable t WHERE t.testdate >= @start GO CREATE TABLE [dbo].[TestTable](        [id] [int] IDENTITY(1,1) NOT NULL,        [testdate] [datetime] NULL ) ON [PRIMARY] GO

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes aus dem vorherigen Build. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:

Neuestes kumulatives Update für SQL Server 2019

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Informationsquellen

Informieren Sie sich über die Terminologie, die Microsoft zum Beschreiben von Softwareupdates verwendet.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.