Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm cách nào để SqlCacheDependency biết khi nào cần giao tiếp lại với bất kỳ người nghe nào khi dữ liệu trong bảng thay đổi?

Một bảng mới được tạo trong cơ sở dữ liệu của bạn chứa tên của bảng mà bạn muốn kiểm tra các bản cập nhật và một số thay đổi. Mỗi bảng bạn đã thiết lập cho sqldependency có một trình kích hoạt được thiết lập cho các bản cập nhật / chèn làm tăng biến đổi trong bảng mới mà tôi vừa mô tả.

Mô hình tinh thần của bạn về cách hoạt động này là ngược. Ứng dụng của bạn sẽ kiểm tra nhật ký để xác định xem một bảng đã thay đổi hay chưa.

Vì vậy, nếu bảng thay đổi (Đó là những gì tôi gọi nó) đang theo dõi hai bảng trong cơ sở dữ liệu của bạn (Sản phẩm, Người dùng) Nó sẽ giống như thế này.

+Table Name + ChangeNumber +
| Product   | 1            |
+-----------+--------------+
| User      | 1            |
+-----------+--------------+

Bây giờ nếu bạn sửa đổi bất kỳ thứ gì trong một trong hai bảng này, trình kích hoạt sẽ tăng ChangeNumber và bây giờ chúng tôi biết họ đã thay đổi.

Rõ ràng là còn nhiều điều về điều này, nhưng đây là ý tưởng chung.

Lưu ý:Cần lưu ý rằng bạn có thể làm mất hiệu lực một trang nếu một hoặc nhiều bảng thay đổi, vì vậy nếu trang của bạn được thiết lập phụ thuộc cho cả hai bảng này, nếu một trong số chúng thay đổi, nó sẽ làm mất hiệu lực trang đã lưu trong bộ nhớ cache và lưu vào bộ nhớ cache một bản cập nhật. phiên bản.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truyền dữ liệu an toàn từ máy chủ SQL sang máy chủ SQL qua Internet

  2. Chuyển đổi ‘datetimeoffset’ thành ‘smalldatetime’ trong SQL Server (Ví dụ T-SQL)

  3. Chọn các điểm địa lý trong khu vực

  4. Cách sử dụng Sắp xếp (Thứ tự Theo) trong Câu lệnh Chọn trong SQL Server - Hướng dẫn SQL Server / TSQL Phần 109

  5. Làm cách nào để nhập bảng tính excel vào SQL Server?