Làm thế nào để thông báo truy vấn phát hiện những thay đổi trong kết quả truy vấn?


7

Tôi đang làm việc với một cơ sở dữ liệu kế thừa đã triển khai các thông báo truy vấn đối với bảng có tên là ColorList .

Trong khi chạy theo dõi phía máy chủ cho một vấn đề không liên quan, tôi nhận thấy truy vấn

SELECT color FROM ColorList

đã được thực hiện cứ sau 10 mili giây .

Đây có phải là cách Thông báo truy vấn hoạt động? SQL Server có lưu trữ kết quả của truy vấn ban đầu và sau đó chạy truy vấn không ngừng cho đến khi phát hiện ra thay đổi không?


Đừng quen với việc sử dụng các dịch vụ thông báo. Nó chỉ khả dụng trong SQL Server 2005.
mrdenny

Câu trả lời:


10

Đọc Thông báo bí ẩn để được giải thích về cách thức hoạt động của nó. Nếu bạn thấy truy vấn được thực hiện cứ sau 10ms thì có nghĩa là ứng dụng của bạn đang chạy nó cứ sau 10ms. Bóng 8 của tôi đang cho tôi biết mã của bạn không kiểm tra thông báo EventArss và đang gửi lại truy vấn một cách mù quáng mặc dù Thông tin là giá trị Invalid, cho biết một truy vấn không thể được thông báo. Điều này sẽ được mong đợi, vì truy vấn của bạn không tuân thủ các hạn chế Thông báo truy vấn :

Các cột được chiếu trong câu lệnh SELECT phải được nêu rõ ràng và tên bảng phải đủ tiêu chuẩn với tên hai phần .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.