title image


Smiley Erfahrungen ...
Hallo banas,



hatte auf SQLServer mit Replikationen zu tun. Dort ist's so, dass im Rahmen der Replikation einiges an Triggern für replizierte Tabellen angelegt wird, die dich so gesehen aber nicht zu kümmern brauchen.



Aufpassen musst aber bei benutzerdefinierten Triggern. Die Replikation fürht beim Abgleich der replizierten Tabellen ja auch Insert-, Update- und Delete-Anweisungen aus. Die Frage ist, ob ein Trigger abgearbeitet werden soll, wenn diese Aktionen im Rahmen der Replikation durchgeführt werden.

Je nach Trigger kann sein, dass das so sein muss, oder nicht so sein darf. In SQLServer gibt's dafür die Klausel "not for replication", die im Trigger selbst angegeben werden muss. "Not for replication" bedeutet, dass der Trigger nicht ausgelöst wird, wenn die entsprechenden Aktionen im Rahmen der Datensynchronisierung auftreten.



In diesem Zusammenhang: diese Klausel gibt es auf SQLServer auch für Constraints, wie zum Beispiel den Fremschlüsseln. Nachdem die Replikation die Tabellen in einer, ich sag mal beliebigen, Reihenfolge abgleicht, kann es passieren, dass beim Einfügen von Daten ein Fehler wegen einer Schlüsselverletzung auftritt. Nämlich dann, wenn die Daten erst in die jene Tabelle eingefügt werden, auf die der Fremdschlüssel vereist.

Über "not for replication" kannst diese Beziehung für Aktionen der Replikation sozusagen deaktivieren.



Das sind in diesem Zusammenhang mal die wichtigsten Punkte, wie's auf DB2 aussieht, kann ich dir leider nicht sagen, hatte nie damit zu tun.



Ciao, WolfgangE
An Optimist Is A Person Who Has Not Been Shown All The Facts Yet!

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: