Triệu chứng
Khi gói SQL đã bật thực thi xen khớp và sử dụng mệnh đề OPTION (OPTIMIZE FOR), hàm có giá trị bảng (TVF) sử dụng tham số được đưa vào cùng một câu lệnh SQL sẽ cung cấp kết quả không chính xác trong lần chạy đầu tiên.
Giải pháp
Sự cố này đã được khắc phục trong bản cập nhật tích lũy sau đây dành SQL Server:
Bản cập nhật Tích lũy 19 cho SQL Server 2019
Chú ý Đây là một ví dụ về việc không sử dụng thực thi xen khớp sau khi bạn cài đặt bản cập nhật tích lũy này:
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
Mỗi bản cập nhật tích lũy mới cho SQL Server sẽ chứa tất cả các bản cập nhật nóng và bản sửa lỗi bảo mật có trong bản dựng trước. Chúng tôi khuyên bạn nên cài đặt bản dựng mới nhất cho phiên bản SQL Server:
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft sử dụng để mô tả các bản cập nhật phần mềm.