2009-11-03 34 views
5

Tôi biết mức GIAO DIỆN GIAO DỊCH GIAO DỊCH mặc định trong SQL Server là "đã đọc cam kết". Nếu tôi muốn thay đổi nó thành "READ UNCOMMITTED", tôi có thể thay đổi cấu hình này bằng cách nào?Làm cách nào tôi có thể thay đổi mức GIAO DIỆN GIAO DỊCH GIAO DỊCH mặc định trong SQL Server 2005?

lưu ý: Tôi không thể sử dụng mức độ GIAO DỊCH GIAO DỊCH SET, chỉ áp dụng trong phiên hiện tại. Tôi không thể thêm NOLOCK trong các truy vấn vì có hàng nghìn truy vấn liên quan.

Cảm ơn


Cám ơn câu trả lời của bạn. Chúng tôi là ok với đọc hàng bẩn. Cập nhật cũng không phải là vấn đề trong trường hợp của chúng tôi. nhưng, tôi thực sự muốn thay đổi cấu hình mặc định của mức cô lập này. Xin vui lòng giúp đỡ.

Tôi không thể "SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED". Tôi phải thực hiện thay đổi toàn cầu.


Chúng tôi đã xem xét cẩn thận cả mức cách ly ảnh chụp nhanh. Chúng không thể được sử dụng trong tình huống của chúng ta.

+0

Tôi rất tò mò về những gì vấn đề cụ thể mà bạn đang chạy vào nơi đọc không bị giam là mặc dù là giải pháp duy nhất của bạn? Tôi giả định một số loại tranh chấp khóa, nhưng có rất nhiều cách để giải quyết vấn đề như vậy. –

+0

Tôi đã xem qua điều này tìm cách để biết nếu nó có thể, bởi vì tôi tự hỏi nếu ai đó có thể đã làm điều này với chúng tôi. Có ai biết không? – Joshua

Trả lời

1

What about:

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 

Nó sẽ chỉ áp dụng cho các giao dịch vãng lai.

+0

Điều đó sẽ áp dụng cho không chỉ giao dịch hiện tại mà còn là thời hạn kết nối. Xem http://msdn.microsoft.com/en-us/library/ms173763(v=SQL.90).aspx để tham khảo. –

3

Tôi thực sự không nghĩ rằng bạn nên đặt ở cấp độ toàn cầu. Bạn nên thiết lập này khá cẩn thận vì bạn có thể kết thúc với rất nhiều vấn đề khác nhau:

  • Lost Updates
  • không lặp lại lần đọc
  • bẩn lần đọc
  • Phantom đọc

Có không có cách nào để thiết lập điều này tại một cơ sở dữ liệu hoặc một mức độ máy chủ - nó chỉ có thể được thiết lập ở một mức kết nối.

Điều tốt nhất bạn có thể làm ở cấp cơ sở dữ liệu là đặt thuộc tính ALLOW_SNAPSHOT_ISOLATION hoặc READ_COMMITTED_SNAPSHOT. Đọc thêm ở đây:

http://msdn.microsoft.com/en-us/library/tcbchxcb%28VS.80%29.aspx

Các vấn đề liên quan