Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Промяна на улавянето на данни само за актуализации и изтривания

Просто бих използвал тригер за улавяне на актуализации и изтривания.

Не мисля, че можете да кажете на CDC на какъв DML да обърне внимание и смятам, че е доста разточително да оставите CDC да записва всички тези вмъквания само за да ги изтрие след това. Това само по себе си е скъпо и фрагментацията, която ще причини, също ще причини проблеми за всички заявки, които изпълнявате срещу таблиците за улавяне (ще имате много предимно празни страници), както и работните статистики, които ще трябва да извършвате постоянно поддържайте статистиката актуална.

Бихте могли да поставите тригер вместо вмъкване в таблицата за улавяне, който просто не прави нищо, но не съм се опитвал да направя това, за да видя дори дали е разрешено, и със сигурност не знам какво въздействие ще има това върху CDC функции. Вероятно си струва малко разследване, но първоначалният ми отговор все още е в сила, дори ако този хак работи:просто използвайте тригер.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изчислим възрастта (в години) въз основа на датата на раждане и getDate()

  2. Нули и изявлението MERGE:Трябва да задам стойност на безкрайност. как?

  3. Текущо изпълнявана заявка в съхранена процедура

  4. Най-добрият начин за създаване на индекси в SQL Server

  5. Получаване на максимална стойност от редове и присъединяване към друга таблица