Tôi đã lưu các thủ tục trong SQL Server T-SQL được gọi từ .NET trong phạm vi giao dịch.Cách thực hiện chèn và cập nhật bên ngoài giao dịch trong T-SQL
Trong quy trình lưu trữ của tôi, tôi đang thực hiện một số ghi nhật ký cho một số bảng kiểm tra. Tôi chèn một hàng vào bảng kiểm toán, và sau đó sau đó trong giao dịch điền vào nó với nhiều thông tin hơn bằng cách cập nhật.
Điều tôi đang tìm kiếm, đó là nếu một vài người thử cùng một điều cùng một lúc, 1 hoặc 2 trong số họ sẽ trở thành nạn nhân bế tắc giao dịch. Tại thời điểm này tôi giả định rằng một số loại khóa đang xảy ra khi tôi chèn vào các bảng kiểm toán.
Tôi muốn thực hiện chèn và cập nhật cho các bảng kiểm tra bên ngoài giao dịch mà tôi đang thực thi, để việc kiểm tra sẽ diễn ra, ngay cả khi giao dịch quay lại. Tôi đã hy vọng rằng điều này có thể ngăn chặn bất kỳ ổ khóa xảy ra, cho phép nhiều hơn một người để thực hiện các thủ tục cùng một lúc.
Có ai có thể giúp tôi thực hiện việc này trong T-SQL không?
Cảm ơn, Giàu
Update- Tôi đã kể từ khi phát hiện ra rằng kiểm toán là không liên quan đến bế tắc giao dịch, nhờ gợi ý của việc sử dụng SQL Profiler Josh để theo dõi xuống là nguồn gốc của sự bế tắc.
bạn có kiểm tra bảng có khóa ngoài với bảng 'nóng' chính của mình không? –
Loại - nếu tôi đang chèn một hàng mới, tôi tạo một bản ghi kiểm tra 'chèn'. Sau đó, tôi tạo hàng mới, bao gồm cả khóa từ bảng kiểm toán để hiển thị hành động được kiểm tra nào đã tạo hàng. Sau đó, tôi cập nhật bản ghi kiểm tra với ID của hàng mới, để hiển thị những gì đã được tạo. Không có mối quan hệ mặc dù. – Rich
Ok Tôi chỉ googled: ngăn chặn giao dịch sql, và câu hỏi này là liên kết thứ ba nghĩ rằng đó là funny – JoshBerke