Trong SQL Server 2005/2008, làm thế nào tôi có thể biết nếu cách ly Snapshot được bật? Tôi biết cách bật nó lên, nhưng tôi không thể tìm thấy câu thần chú để nhờ google chỉ cho tôi cách truy vấn trạng thái của tùy chọn Snapshot Isolation.
Trong SQL Server 2005/2008, làm thế nào tôi có thể biết nếu cách ly Snapshot được bật? Tôi biết cách bật nó lên, nhưng tôi không thể tìm thấy câu thần chú để nhờ google chỉ cho tôi cách truy vấn trạng thái của tùy chọn Snapshot Isolation.
Câu trả lời:
Powershell, thực sự? Điều gì sai với T-SQL thời trang tốt?
sys.database là những gì bạn muốn. Nó có các cột mô tả có thể đọc được của con người như snapshot_isolation_state_desc
SELECT snapshot_isolation_state_desc from sys.databases
where name='adventureworks'
Mở rộng về phản ứng của nicks từ phía trên ..
Sau đây sẽ trả về thông tin về tất cả các cơ sở dữ liệu của bạn
select name
, s.snapshot_isolation_state
, snapshot_isolation_state_desc
, is_read_committed_snapshot_on
, recovery_model
, recovery_model_desc
, collation_name
from sys.databases s
Hoặc sử dụng mã T-SQL:
SELECT
'Current Isolation State:' [ ],
CASE is_read_committed_snapshot_on
WHEN 1 THEN 'ON' ELSE 'OFF'
END AS [Read Committed Snapsot State]
FROM sys.databases
WHERE name = 'MyDatabaseName'
Cách kiểm tra xem mức cô lập giao dịch chụp nhanh có được bật hay không
Để kiểm tra xem mức cô lập giao dịch chụp nhanh có được bật hay không, hãy làm theo các bước sau:
- Khởi động SQL Server Profiler.
- Tạo một dấu vết mới để kết nối với nguồn dữ liệu mà bạn đã chỉ định trong dự án Dịch vụ phân tích.
- Trong hộp thoại Thuộc tính dấu vết , bấm vào tab Chọn sự kiện .
- Trong cột TransactionID, bấm để chọn các hộp kiểm trong hàng cho sự kiện SQL: BatchCompleted và trong hàng cho sự kiện SQL: BatchStarting.
Lưu ý Để hiển thị cột TransactionID, bấm để chọn hộp kiểm Hiển thị tất cả các cột .
- Bấm Chạy để bắt đầu theo dõi.
Trong Studio Phát triển Kinh doanh Thông minh, xử lý dự án Dịch vụ Phân tích.
Trong SQL Server Profiler, hãy tìm các sự kiện SQL: BatchCompleted và cho các sự kiện SQL: BatchStarting có cùng giá trị trong cột TransactionID. Thông thường, các sự kiện này chứa câu lệnh SELECT trong cột TextData. Đối với những sự kiện này, hãy lấy ID phiên trong cột SPID.
Để kết nối với nguồn dữ liệu, hãy khởi động SQL Server Management Studio.
Tạo một truy vấn mới và sau đó chạy câu lệnh Transact-SQL sau đây.
chọn session_id, Transaction_Isolation_Level từ sys.dm_exec_sments trong đó session_id =
Lưu ý Trong tuyên bố này, là một trình giữ chỗ cho ID phiên mà bạn có được trong bước 7.
- Trên tab Kết quả , lưu ý giá trị trong cột Transaction_Isolation_Level. Giá trị này cho biết mức cô lập giao dịch mà bạn đang sử dụng trong dự án Dịch vụ phân tích. Khi mức cô lập giao dịch ảnh chụp nhanh được bật, giá trị trong cột Transaction_Isolation_Level là 5.
Bảng sau đây cho thấy các giá trị trong cột Transaction_Isolation_Level và các mức cô lập giao dịch tương ứng.