Belirtiler
SQL planı araya katılmış yürütmeyi etkinleştirdiğinde ve OPTION (OPTIMIZE FOR) yan tümcesini kullandığında, aynı SQL deyiminde geçirilen parametreyi kullanan tablo değerli işlev (TVF), ilk çalıştırmada yanlış sonuçlar verir.
Çözüm
Bu sorun, SQL Server için aşağıdaki toplu güncelleştirmede düzeltildi:
SQL Server 2019 için Toplu Güncelleştirme 19
Yükleme dosyasının doğru sürümü ve sağlaması olduğunda Algıla ve Onar bu dosyanın üzerine kopyalamaz. Bu toplu güncelleştirmeyi yükledikten sonra araya eklenen yürütmeyi kullanmama örneği aşağıda verilmiştir:
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
SQL Server için her yeni toplu güncelleştirme, önceki derlemedeki tüm düzeltmeleri ve güvenlik düzeltmelerini içerir. SQL Server sürümünüz için en son derlemeyi yüklemenizi öneririz:
Durum
Microsoft bu sorunun "Uygulandığı öğe" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Başvurular
Microsoft'un yazılım güncelleştirmelerini açıklamak için kullandığı terminoloji hakkında bilgi edinin.