Phiên treo với TM YÊU CẦU và xử lý gói 0x0000


12

Chúng tôi có một sự kiện định kỳ trong đó có rất nhiều kết nối treo trên TM REQUEST (từ sys.dm_os_waiting_tasks) và không có tiến triển. không KILLbị ảnh hưởngsession_id

Máy chủ chạy phản chiếu cơ sở dữ liệu (2008R2). Tạm dừng và tiếp tục phản chiếu sửa chữa vấn đề khi nó xảy ra.

Phiên bị mắc kẹt trong trạng thái này là không thể. Tải trọng trên gương là bình thường, không nổ. Khi một số lượng lớn các kết nối bị kẹt trong trạng thái này, hệ thống sẽ đóng băng và nhân bản dừng sao chép (tất cả các truy vấn sẽ bị chặn).

Bất cứ ai đã nhìn thấy điều này trước đây và biết những gì gây ra nó? Không có gì trong nhật ký lỗi.


Chế độ nào được phản chiếu cấu hình là? Các loại chờ khi vấn đề này xảy ra là gì? Bất kỳ cơ hội nào mà SQL Server được cấu hình fiber mode?
Kin Shah

Phản chiếu ở chế độ Đồng bộ hóa. Không có sợi. Không phải chờ đợi khác
Thomas Kejser

Các resource_descriptionthiết lập là gì?
Thomas Stringer

Tôi đã nhận thấy điều này cách đây không lâu (chúng tôi chạy async, nhưng chúng tôi thay đổi nó để đồng bộ hóa khi chúng tôi thực hiện chuyển đổi dự phòng hoặc vá, v.v.). Liệu spid ở lại sau khi DB được đồng bộ hóa hoàn toàn?
Subhash Pant

SPID biến mất sau khi tạm dừng. Nhưng họ không thể tha thứ trong khi vấn đề đang diễn ra
Thomas Kejser

Câu trả lời:


9

TM là viết tắt của Trình quản lý giao dịch. Lệnh hiện tại đang được đặt thành Yêu cầu TM có nghĩa là luồng hiện đang phục vụ yêu cầu DTC (Điều phối viên giao dịch phân tán), để tranh thủ trong giao dịch DTC, hoặc lỗi từ nó, hoặc cam kết, v.v. Giao dịch phân tán không được hỗ trợ cho Cơ sở dữ liệu phản chiếu vì nó không thể đảm bảo tính toàn vẹn của giao dịch. Ức chế các giao dịch DTC của bạn và điều này sẽ biến mất.


Tín dụng S. Ashwin, đồng nghiệp, Hỗ trợ Microsoft SQL
stacylaray

Làm thế nào tôi có thể chẩn đoán nơi này đến từ đâu? Nhật ký MSDTC trên máy chủ trống
Thomas Kejser

DTC có thể tham gia nếu tôi có một giao dịch cơ sở dữ liệu chéo trên cùng một ví dụ không?
Thomas Kejser

@ThomasKejser - là sp_configure 'Ad Hoc Distributed Queries'trên? - Có lẽ một số hệ thống đang phát hành các giao dịch cơ sở dữ liệu chéo bằng cách sử dụng OPENQUERYcác báo cáo đặc biệt hoặc một cái gì đó?
Max Vernon

1
Giao dịch cơ sở dữ liệu chéo sử dụng mã cơ bản giống như giao dịch DTC sử dụng. Sự khác biệt chính là thiếu người quản lý điều phối DTC. Thay vào đó, SQL Server chọn DBID thấp nhất trong giao dịch làm điều phối viên giao dịch.
stacylaray

0

Nhà môi giới dịch vụ sử dụng trình quản lý giao dịch Máy chủ SQL thay vì Điều phối viên giao dịch phân tán của Microsoft (MS DTC). Giao dịch không nằm trong các trường hợp nhưng trong một trường hợp. Bạn đang sử dụng Dịch vụ môi giới?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.