Khắc phục: Giao dịch XA không bị xoá khi bạn thoát ứng dụng Java trong phiên bản của SQL Server

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3145492
Triệu chứng
Bạn có một ứng dụng Java kết nối với Microsoft SQL Server bằng cách sử dụng trình điều khiển JDBC Microsoft SQL Server. Sau khi khởi động ứng dụng Java, bạn chạy một hoặc nhiều giao dịch XA trong trường hợp của SQL Server. Khi bạn thoát ứng dụng Java, các giao dịch sẽ không bị xoá cho đến khi bạn khởi động lại phiên bản SQL Server. Ngoài ra, nếu có quá nhiều giao dịch đơn lẻ, bạn có thể khởi động bất kỳ giao dịch mới trong phiên bản của SQL Server.
Giải pháp
Để giải quyết vấn đề này, áp dụng bản cập nhật này và sau đó kích hoạt cờ theo dõi TF3924. Để kích hoạt cờ theo dõi TF3924, hãy xem phần "Thông tin".

Thông tin Cập Nhật tích luỹ

Thisissue đã được khắc phục trong bản Cập Nhật sau:
Giới thiệu: cài đặt chuyên biệt bản Cập Nhật tích luỹ mới nhất cho SQL Server

Mỗi bản cập nhật tích luỹ mới cho SQL Server chứa tất cả các bản sửa lỗi nhanh và tất cả các bản sửa lỗi bảo mật mà được đính kèm với bản cập nhật tích luỹ trước đó. Kiểm tra các bản Cập Nhật tích luỹ mới nhất cho SQL Server:
Tình trạng
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".
Thông tin thêm
Để kiểm tra các giao dịch đơn lẻ, hãy chạy lệnh Transact-SQL sau trong phiên bản SQL Server:
SELECT * FROM sys.syslockinfo L, sys.dm_tran_active_transactions T WHERE L.[req_transactionUOW] = T.[transaction_uow]

Làm thế nào để kích hoạt cờ theo dõi 3924

Bạn có thể kích hoạt cờ theo dõi 3924 khởi động hoặc một phiên người dùng. Cờ theo dõi này có tác dụng toàn cầu cấp hoặc cấp phiên. Để kích hoạt cờ theo dõi 3924, sử dụng lệnhDBCC TRACEON hoặc sử dụng -3924 như một tham số khởi động.

Nếu sử dụng DBCC TRACEON\TRACEOFFnày không tạo lại một kế hoạch lưu trữ mới cho quy trình được lưu trữ. Có thể có kế hoạch trong bộ đệm ẩn được tạo ra mà không có cờ theo dõi.

Để biết thêm thông tin về cách kích hoạt hoặc vô hiệu hoá cờ theo dõi và cờ theo dõi chung và phiên cấp, hãy xem các chủ đề sau trong SQL Server sách trực tuyến:
Tham khảo
Tìm hiểu về các thuật ngữ mà Microsoft sử dụng để mô tả bản cập nhật phần mềm.
Chú ý Đây là một bài viết "XUẤT BẢN NHANH" được tạo trực tiếp từ trong trung tâm hỗ trợ của Microsoft. Thông tin có trong tài liệu này được cung cấp nhằm trả lời các vấn đề mới xuất hiện. Do việc cung cấp nhanh chóng, tài liệu có thể có lỗi in ấn và có thể được sửa đổi bất kỳ lúc nào mà không cần thông báo. Hãy xem Điều khoản Sử dụng để xem xét thêm.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3145492 - Xem lại Lần cuối: 08/16/2016 01:00:00 - Bản sửa đổi: 4.0

Microsoft SQL Server 2012 Service Pack 3, Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3145492 KbMtvi
Phản hồi