Triệu chứng
Giả định rằng bạn sử dụng bản sao phối trong Microsoft SQL Server 2012 hoặc trong Microsoft SQL Server 2014. Như một phần của quy trình đồng bộ hóa, phối đại diện tạo ra thế hệ mới trong một phiên. Nếu vì lý do nào đó, chẳng hạn như bế tắc hoặc hết thời gian, giao dịch tạo ra thế hệ được chọn là người bị bế tắc và giao dịch được cuộn lại, có thể có một chuỗi lớn ngăn chặn cho khóa ứng dụng MSinternal_makegeneration_inprog trong makings thế hệ sắp tới, và phiên đã được đề cập được hiển thị là bộ chặn đầu.
Nguyên nhân
Khóa ứng dụng được sử dụng để giúp bảo vệ quá trình tạo ra thế hệ là khóa ứng dụng mức độ phiên. Khi một bế tắc được phát hiện trong quá trình thực hiện thế hệ, chỉ những giao dịch này được cuộn ngược nhưng phiên không được đăng xuất. Để phát hành khóa ứng dụng mức phiên, phiên sẽ phải đăng xuất. Do đó, do việc thiết kế của việc thử lại logic (phiên sẽ không được đăng xuất trong quá trình làm việc không được kết hợp trong bản sao phối), nếu thế hệ thứ nhất không thành công với bế tắc, khóa phiên (MSinternal_makegeneration_inprog) , sẽ không được phát hành trong quá trình quay ngược lại giao dịch. Điều này khiến ngăn chặn chuỗi các yêu cầu khóa trong quy trình thực hiện sắp tới của thế hệ. Trình chặn đầu sẽ được hiển thị là thế hệ thứ nhất khiến cho yêu cầu không thành công với bế tắc. Trước khi các hotfix, SQL Server sẽ chỉ xóa khóa cho quá trình thực hiện tạo ra thế hệ thành công. Nó sẽ rời khỏi một ứng dụng phiên họp mồ côi trước khi đăng xuất phiên họp nếu bế tắc xảy ra.
Giải pháp
Vấn đề này lần đầu tiên đã được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 5 cho SQL Server 2014 /en-us/help/3011055
Bản Cập Nhật tích lũy 3 cho SQL Server 2012 SP2 /en-us/help/3002049
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào 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:
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".