2008-09-09 27 views
105

Trong MS SQL Server có cách để phát hiện xem cơ sở dữ liệu đã thiết lập mức cô lập thông qua lệnh T-SQL ALTER DATABASE <database> SET READ_COMMITTED_SNAPSHOT ON;Cách phát hiện READ_COMMITTED_SNAPSHOT được bật?

Tôi không thể tìm ra cách đơn giản để phát hiện điều này trong T-SQL hoặc qua Quản lý GUI của Studio.

TIA giá trị

Trả lời

158
SELECT is_read_committed_snapshot_on FROM sys.databases 
WHERE name= 'YourDatabase' 

Return:

  • : READ_COMMITTED_SNAPSHOT lựa chọn là ON. Các hoạt động đọc theo mức cách ly READ COMMITTED được dựa trên các lần quét ảnh chụp và không có khóa.
  • (mặc định): READ_COMMITTED_SNAPSHOT tùy chọn là OFF. Đọc các thao tác theo mức cách ly READ COMMITTED sử dụng Shared (S) locks.
+6

Tôi thích "DBCC USEROPTIONS", một chút dễ nhớ hơn. – ProVega

+3

@ProVega - DBCC USEROPTIONS không trả về giá trị của is_read_committed_snapshot_on. –

0

Cả trên SQL2005 hay 2012 không DBCC USEROPTIONS hiển thị is_read_committed_snapshot_on:

Set Option Value 
textsize 2147483647 
language us_english 
dateformat mdy 
datefirst 7 
lock_timeout -1 
quoted_identifier SET 
arithabort SET 
ansi_null_dflt_on SET 
ansi_warnings SET 
ansi_padding SET 
ansi_nulls SET 
concat_null_yields_null SET 
isolation level read committed 
+4

Vui lòng thử đọc http://stackoverflow.com/about này để hiểu thêm về các câu hỏi/câu trả lời tại đây trên SO. Đóng góp của bạn không trả lời câu hỏi. Nó là một bình luận, mà bạn có thể thêm một khi bạn sẽ tăng danh tiếng của bạn: http://stackoverflow.com/faq#reputation –

+1

Câu trả lời là okay vì nó cố gắng trả lời câu hỏi "có cách nào không?". Nhưng chỉ nói những gì không hoạt động sẽ không nhận được nhiều chấp nhận. –

+3

Mức cách ly trong 'DBCC USEROPTIONS' không cho bạn biết. Nếu đó là 'snap snap snapshot' thì nó được bật, nếu không nó sẽ tắt – Greg

1
  1. Theo https://msdn.microsoft.com/en-us/library/ms180065.aspx, "DBCC USEROPTIONS báo cáo một mức độ cô lập của 'đọc bản chụp cam kết' khi lựa chọn cơ sở dữ liệu READ_COMMITTED_SNAPSHOT là đặt thành BẬT và mức cách ly giao dịch được đặt thành 'đã đọc cam kết'. Mức cách ly thực tế được đọc là đã cam kết. "

  2. Cũng trong SQL Server Management Studio, trong cơ sở dữ liệu thuộc tính dưới Options-> Khác biệt có được "là đã đọc Snapshot cam kết On" tùy chọn trạng

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