Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zmień przechwytywanie danych tylko dla aktualizacji i usuwania

Po prostu użyłbym wyzwalacza do przechwytywania aktualizacji i usuwania.

Nie sądzę, że można powiedzieć CDC, na co DML zwrócić uwagę, i uważam, że pozwalanie CDC na nagrywanie wszystkich tych wstawek tylko po to, aby je później usunąć, jest dość marnotrawstwem. To samo w sobie jest drogie, a fragmentacja, którą spowoduje, spowoduje również problemy z wszelkimi zapytaniami, które uruchomisz względem tabel przechwytywania (będziesz mieć wiele w większości pustych stron), a także statystyki pracy będą musiały być stale aktualizować statystyki.

Możesz umieścić wyzwalacz zamiast wstawiania na tabeli przechwytywania, który po prostu nic nie robi, ale nie próbowałem tego zrobić, aby sprawdzić, czy jest to dozwolone, i na pewno nie wiem, jaki wpływ będzie to miało na Funkcje CDC. Prawdopodobnie warto zbadać, ale moja pierwotna odpowiedź jest nadal aktualna, nawet jeśli ten hack zadziała:po prostu użyj wyzwalacza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdź stan kolejek poczty bazy danych w programie SQL Server (T-SQL)

  2. Jak znaleźć domyślną lokalizację plików danych i plików dziennika w programie SQL Server?

  3. Uzyskiwanie numeru tygodnia od daty w MS SQL Server 2005?

  4. SQL Server:Jak przechowywać dane binarne (np. plik Word)?

  5. Sql Query pomaga uzyskać niezgodne rekordy z dwóch tabel