Tôi nghĩ rằng điều này có liên quan đến việc dò tìm tham số và sự cần thiết phải tham số hóa các tham số đầu vào của bạn thành các tham số cục bộ trong SP. Thêm với biên dịch lại làm cho kế hoạch thực thi được tạo lại và loại bỏ nhiều lợi ích của việc có một SP. Chúng tôi đã sử dụng With Recompile trên nhiều báo cáo với nỗ lực loại bỏ vấn đề treo này và nó đã vô tình dẫn đến việc treo SP có thể liên quan đến các khóa và / hoặc giao dịch khác truy cập đồng thời vào các bảng đó. Xem liên kết này để biết thêm chi tiết Tham số đánh hơi (hoặc Spoofing ) trong SQL Server và thay đổi SP của bạn thành như sau để khắc phục điều này:
TẠO THỦ TỤC [dbo]. [SPNAME] @ p1 int, @ p2 intAS
DECLARE @ localp1 int, @ localp2 int
SET @ [email protected] SET @ [email protected]