2012-04-16 35 views
21

Tôi đang cố gắng xác định xem Theo dõi thay đổi đã được bật trên cơ sở dữ liệu của tôi chưa trước khi chạy lệnh ALTER DATABASE để bật tính năng này. Tôi đang cố gắng ngăn chặn lỗi với các tập lệnh này nếu chạy nhiều lần.Cách kiểm tra xem theo dõi thay đổi có được bật không

Tôi đã đăng ký sys.databasessys.dm_tran_commit_table nhưng không thể tìm thấy những gì tôi đang tìm kiếm.

Trả lời

32

Bạn có thể sử dụng truy vấn này:

SELECT * 
FROM sys.change_tracking_databases 
WHERE database_id=DB_ID('MyDatabase') 
+0

Cảm ơn bạn. Tôi đã phải thay đổi 'OBJECT_ID' thành' DB_ID', sau đó nó hoạt động như một sự quyến rũ. –

+0

@AdamWenger - Vâng, bạn đã đúng, tôi đã cập nhật câu trả lời của mình – Lamak

+0

Vì vậy, tôi không quen với Thay đổi theo dõi và tìm thấy câu hỏi này tìm kiếm về Thay đổi dữ liệu chụp (CDC). Đối với những người khác có mặt ở đây, câu hỏi/câu trả lời tương đương cho CDC là [tìm thấy ở đây] (http://zarez.net/?p=2821) 'SELECT s.name AS Schema_Name, tb.name AS Table_Name , tb .object_id, tb.type, tb.type_desc, tb.is_tracked_by_cdc TỪ sys.tables tb INNER JOIN sys.schemas s trên s.schema_id = tb.schema_id ĐÂU tb.is_tracked_by_cdc = 1' –

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