Khi tôi thực hiện hai truy vấn bên dưới,
SELECT
session_id, transaction_id
FROM sys.dm_tran_session_transactions;
VÀ
SELECT
session_id, request_id, at.transaction_id
FROM sys.dm_tran_active_transactions at
JOIN sys.dm_exec_requests r
ON r.transaction_id = at.transaction_id;
Tôi đã đọc BOL cho cả 1 và 2 nhưng không thấy bất kỳ lời giải thích rõ ràng nào về lý do tại sao sự khác biệt sẽ xảy ra.
Tôi nhận được kết quả khác nhau. Truy vấn trước không trả về kết quả, nhưng truy vấn sau trả về các giao dịch đang hoạt động với id phiên và giao dịch. Các request_id
là 0 mà, tôi nghĩ rằng, phương rằng đó là yêu cầu chỉ thực hiện bằng phiên. Ai đó có thể giúp tôi hiểu tại sao có sự khác biệt giữa hai khái niệm tôi đã hỏi ở trên không?
BIÊN TẬP
Tôi chỉ chạy lại các truy vấn và bây giờ tôi nhận được kết quả cho DMV đầu tiên có một kết quả session_id
không thực sự có trong tập kết quả thứ hai.