Nếu ngay sau BEGIN
Tôi có tuyên bố SET TRANSACTION ISOLATION LEVEL ...
, liệu mức giao dịch đã cho có hiệu lực cho toàn bộ phạm vi của quy trình được lưu trữ bất kể tôi có sử dụng BEGIN TRANSACTION
hay không? Cụ thể là nếu tôi có các câu lệnh đơn giản là SELECT
, được định nghĩa nguyên tử/giao dịch theo định nghĩa, thì mức giao dịch mặc định cho chúng có được đặt thành giá trị đã cho không?SQL Server: làm thế nào để thiết lập mức cô lập mặc định cho toàn bộ thủ tục lưu sẵn?
BEGIN
SET TRANSACTION ISOLATION LEVEL READ COMMITTED
-- will a transaction level for a atomic transaction created by SQL Server for this statement be READ COMMITTED
SELECT * FROM T
END
[Nó không thay đổi nó trong khoảng thời gian kết nối như được hiển thị ở đây] (http://stackoverflow.com/questions/7507714/sql-server-2005-transaction-level-and-stored -procedures/7507829 # 7507829) –
@magicmike: cảm ơn! Tôi chấp nhận nó như là câu trả lời nhưng nó sẽ tốt hơn nếu bạn có thể chỉ cho tôi một tài liệu MS. – Schultz9999
nếu nó giúp: 'THIẾT LẬP GIAO DIỆN CẤP B --NG '- http://msdn.microsoft.com/en-us/library/ms173763.aspx Giao dịch Implicit: - http://msdn.microsoft.com/en-us/library /ms188317.aspx –