Bỏ qua để tới nội dung chính
Đăng nhập với Microsoft
Đăng nhập hoặc tạo một tài khoản.
Xin chào,
Chọn một tài khoản khác.
Bạn có nhiều tài khoản
Chọn tài khoản bạn muốn đăng nhập.

Triệu chứng

Xem xét tình huống sau:

  • Máy chủ được liên kết được cấu hình giữa các máy chủ cục bộ và máy chủ từ xa đều có phiên bản Microsoft SQL Server 2012.

  • Máy chủ địa phương được cấu hình bằng cách sử dụng một đối chiếu như đối chiếu quản.

  • Máy chủ từ xa có một đối tượng được cấu hình trong đối chiếu khác từ máy chủ địa phương, chẳng hạn như chữ đối chiếu.

  • Kết nối được tạo từ Microsoft JDBC điều khiển cho SQL Server, trình điều khiển Microsoft ODBC SQL Server, SQL OLE DB provider hoặc SQL Native Client để máy cục bộ.

  • Trình điều khiển thực thi truy vấn Cập Nhật Transact-SQL như một tuyên bố chuẩn bị gọi thủ tục sp_prepexec lưu trữ trên máy chủ địa phương.

  • Truy vấn Cập Nhật bảng trên máy chủ từ xa. Điều này bao gồm một cột đối tượng sử dụng đối chiếu khác từ máy chủ địa phương.

Trong trường hợp này, bạn có thể gặp phải hiệu suất chậm thực hiện truy vấn. Nếu bạn kiểm tra kế hoạch thực thi truy vấn Cập Nhật, bạn có thể thấy quét từ xa được thực hiện trên bảng trong máy chủ từ xa mà không cần lọc. Do đó, các truy vấn có thể thực hiện nhiều lần đọc khi quét bảng từ xa và sau đó lấy tất cả các hàng về máy cục bộ.

Ví dụ, truy vấn được chuẩn bị trên máy cục bộ có đối chiếu quản mặc định, và máy chủ từ xa có bảng T1 có một cột có chữ. Bản Cập Nhật sẽ quét tất cả các hàng T1.
DECLARE @p1 INTEXEC sp_prepexec @p1 output, N'@P0 NVARCHAR(16), @P1 NVARCHAR(16)',
N'UPDATE RemoteServer.RemoteDatabase.dbo.T1 SET COL1=@P0 WHERE COL2=@P1',
N'a', N'a'
SELECT @p1

Nguyên nhân

Sự cố xảy ra do truy vấn sẵn sàng Cập Nhật sẽ quét bảng từ xa khi đối chiếu không phù hợp trên cả hai máy chủ.

Mỗi bản cập nhật tích lũy mới cho SQL Server chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật đi kèm với bản cập nhật tích lũy trước đó. Kiểm tra các bản cập nhật tích lũy mới nhất cho SQL Server:


Thông tin về cập nhật nóngCập nhật nóng được hỗ trợ do Microsoft cung cấp. Tuy nhiên, cập nhật nóng này chỉ được dùng để khắc phục sự cố được mô tả trong bài viết này. Chỉ áp dụng cập nhật nóng này cho hệ thống đang gặp sự cố cụ thể này.

Nếu cập nhật nóng này sẵn có để tải xuống thì sẽ có phần "Cập nhật nóng có sẵn để tải xuống" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy gửi một yêu cầu tới bộ phận Hỗ trợ và Dịch vụ Khách hàng của Microsoft để nhận hotfix.

Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố, bạn có thể phải tạo một yêu cầu dịch vụ riêng. Chi phí hỗ trợ thông thường sẽ tính cho các câu hỏi hỗ trợ bổ sung và các sự cố không phù hợp với cập nhật nóng cụ thể này. Để có danh sách đầy đủ số điện thoại hỗ trợ và dịch vụ khách hàng của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy ghé thăm website sau của Microsoft:

http://support.microsoft.com/contactus/?ws=supportLưu ý Mẫu "Tải xuống cập nhật nóng sẵn có" hiển thị các ngôn ngữ mà cập nhật nóng này sẵn có. Nếu bạn không thấy ngôn ngữ của mình thì đó là do cập nhật nóng này hiện không có ngôn ngữ đó.

Điều kiện tiên quyếtĐể áp dụng hotfix này, bạn phải cài đặt SQL Server 2012.

Thông tin đăng kýBạn không phải thay đổi sổ đăng ký sau khi bạn áp dụng hotfix này.

Thông tin thay thế cập nhật nóngHotfix này không thay thế bất kỳ hotfix nào khác.


Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Giải pháp

Để làm việc rất nhiều sự cố, hãy sử dụng một trong các phương pháp sau:

  • Không sử dụng báo cáo chuẩn bị trong mã nguồn ứng dụng khách. Bạn có thể dùng đặc biệt báo cáo hoặc báo cáo callable như quy trình được lưu trữ nếu trình điều khiển hỗ trợ các giao diện.

  • Sử dụng đối chiếu phù hợp trên cả hai máy chủ.

Thông tin

Để kích hoạt cờ theo dõi, thêm tham số -T4199 hoặc Câu lệnh DBCC TRACEON(4199,-1) trước khi lệnh chuẩn bị được biên dịch để kích hoạt chế độ.

Bạn có thể sử dụng một trong các phương pháp sau để kích hoạt cờ theo dõi:

  • Trước khi bạn khởi động SQL Server, sử dụng trình quản lý cấu hình Microsoft SQL Server, bấm chuột phải vào phiên bản bị ảnh hưởng, và thêm tham số khởi động -T4199 để vẫn khởi động lại và trên tất cả các kết nối với phiên bản trong tương lai.

  • Tự động bật thiết đặt thời gian chạy sau khi dịch vụ được khởi động và toàn cầu cho tất cả kết nối "(-1)." Đảm bảo miễn phí bộ nhớ cache của quy trình nếu bạn có kế hoạch để thực hiện việc kiểm tra với chuyển đổi bật hoặc tắt.

    Sử dụng để cho phép cài đặt trên toàn cầu và tự động:
    DBCC TRACEON(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE
    Sử dụng để vô hiệu hoá cài đặt trên toàn cầu và tự động:
    DBCC TRACEOFF(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE


Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?
Khi nhấn gửi, phản hồi của bạn sẽ được sử dụng để cải thiện các sản phẩm và dịch vụ của Microsoft. Người quản trị CNTT của bạn sẽ có thể thu thập dữ liệu này. Điều khoản về quyền riêng tư.

Cảm ơn phản hồi của bạn!

×