徵兆
當 SQL 方案已啟用交錯執行,並使用 OPTION (OPTIMIZE for) 子句時,使用相同 SQL 語句中通過之參數的 TVF (值函數) 會在第一次執行時提供不正確的結果。
解決方案
此問題已在下列SQL Server累積更新中修正:
附註: 以下是安裝此累積更新之後,未使用交錯執行的範例:
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的新累積更新都包含上一個組建中的所有 Hotfix 與安全性修正。 建議您安裝適用于SQL Server版本的最新組建:
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
了解 Microsoft 用來說明軟體更新的術語。