Vorgehensweise: Verwalten von Identitätsspalten (Replikationsprogrammierung mit Transact-SQL)

Wenn Einfügungen von Abonnenten zurück auf den Verleger repliziert werden, müssen Identitätsspalten verwaltet werden, um zu verhindern, dass der gleiche Identitätswert sowohl dem Abonnenten als auch dem Verleger zugewiesen wird. Die Replikation kann Identitätsbereiche automatisch verwalten, oder Sie können sich dafür entscheiden, Identitätsbereiche manuell zu verwalten. Wenn ein Artikel erstellt wird, können Sie mithilfe gespeicherter Replikationsprozeduren Verwaltungsoptionen für Identitätsbereiche angeben. Informationen über die von der Replikation zur Verfügung gestellten Verwaltungsoptionen für Identitätsbereiche finden Sie unter Replizieren von Identitätsspalten.

HinweisHinweis

Wird eine Tabelle in mehr als einer Veröffentlichung veröffentlicht, müssen Sie für diese Veröffentlichungen die gleichen Verwaltungsoptionen für Identitätsbereiche angeben. Weitere Informationen finden Sie im Abschnitt "Veröffentlichen von Tabellen in mehreren Veröffentlichungen" im Thema Veröffentlichen von Daten und Datenbankobjekten.

So aktivieren Sie die automatische Identitätsbereichsverwaltung beim Definieren von Artikeln für eine Transaktionsveröffentlichung

  • Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addarticle aus. Wenn die zu veröffentlichende Quelltabelle eine Identitätsspalte enthält, geben Sie den Wert auto für @identityrangemanagementoption, den dem Verleger zugewiesenen Bereich von Identitätswerten für @pub_identity_range und den jedem Abonnenten zugewiesenen Bereich von Identitätswerten für @identity_range an. Geben Sie für @threshold den Prozentsatz der gesamten Identitätswerte an, die verwendet werden, bevor ein neuer Identitätsbereich zugewiesen wird. Weitere Informationen zum Definieren von Artikeln finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

    HinweisHinweis

    Vergewissern Sie sich, dass der Datentyp der Identitätsspalte groß genug ist, um den gesamten, allen Abonnenten zugewiesenen Identitätsbereich zu unterstützen.

So deaktivieren Sie die automatische Identitätsbereichsverwaltung beim Definieren von Artikeln für eine Transaktionsveröffentlichung

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addarticle aus. Geben Sie den Wert manual für @identityrangemanagementoption an. Weitere Informationen zum Definieren von Artikeln finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

  2. Weisen Sie auf dem Abonnenten Identitätsartikelspalten Bereiche zu, um zu verhindern, dass beim Aktualisieren von Abonnenten Konflikte auftreten. Weitere Informationen finden Sie im Abschnitt zum Zuweisen von Bereichen bei der manuellen Verwaltung von Identitätsbereichen im Thema Replizieren von Identitätsspalten.

So aktivieren Sie die automatische Identitätsbereichsverwaltung beim Definieren von Artikeln für eine Mergeveröffentlichung

  • Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle aus. Wenn die zu veröffentlichende Quelltabelle eine Identitätsspalte enthält, geben Sie den Wert auto für @identityrangemanagementoption, den einem Serverabonnement zugewiesenen Bereich von Identitätswerten für @pub_identity_range und den dem Verleger und jedem Clientabonnement zugewiesenen Bereich von Identitätswerten für @identity_range an. Geben Sie für @threshold den Prozentsatz der gesamten Identitätswerte an, die verwendet werden, bevor ein neuer Identitätsbereich zugewiesen wird. Weitere Informationen dazu, wann neue Identitätsbereiche zugewiesen werden, finden Sie im Abschnitt "Zuweisen von Identitätsbereichen" im Thema Replizieren von Identitätsspalten. Weitere Informationen zum Definieren von Artikeln finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

    HinweisHinweis

    Vergewissern Sie sich, dass der Datentyp der Identitätsspalte groß genug ist, um den gesamten, allen Abonnenten zugewiesenen Identitätsbereich zu unterstützen. Dies gilt besonders bei Abonnenten mit Serverabonnements.

So deaktivieren Sie die automatische Identitätsbereichsverwaltung beim Definieren von Artikeln für eine Mergeveröffentlichung

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_addmergearticle aus. Geben Sie einen der folgenden Werte für @identityrangemanagementoption an:

    • manual - Identitätsbereiche müssen manuell für Abonnenten mit Aktualisierung zugewiesen werden.

    • none - Identitätsspalten auf dem Verleger werden auf dem Abonnenten nicht als Identitätsspalten definiert.

    Weitere Informationen zum Definieren von Artikeln finden Sie unter Vorgehensweise: Definieren eines Artikels (Replikationsprogrammierung mit Transact-SQL).

  2. Weisen Sie auf dem Abonnenten Identitätsartikelspalten Bereiche zu, um zu verhindern, dass beim Aktualisieren von Abonnenten Konflikte auftreten.

So ändern Sie die Einstellungen für die automatische Identitätsbereichsverwaltung für einen vorhandenen Artikel in einer Snapshot- oder Transaktionsveröffentlichung

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_helparticle aus, und achten Sie auf den Wert von identityrangemanagementoption im Resultset. Ist dieser Wert 0, ist die automatische Identitätsbereichsverwaltung nicht aktiviert.

  2. Wenn der Wert von identityrangemanagementoption im Resultset 1 ist, ändern Sie die Einstellungen wie folgt:

    • Um die zugewiesenen Identitätsbereiche zu ändern, führen Sie sp_changearticle auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert identity_range oder pub_identity_range für @property und den neuen Bereichswert für @value an.

    • Um den Schwellenwert zu ändern, bei dessen Überschreiten neue Identitätsbereiche zugewiesen werden, führen Sie sp_changearticle auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert threshold für @property und den neuen Schwellenwert für @value an.

So ändern Sie die Einstellungen für die automatische Identitätsbereichsverwaltung für einen vorhandenen Artikel in einer Mergeveröffentlichung

  1. Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_helpmergearticle aus, und achten Sie auf den Wert von identity_support im Resultset. Ist dieser Wert 0, ist die automatische Identitätsbereichsverwaltung nicht aktiviert.

  2. Wenn der Wert von identity_support im Resultset 1 ist, ändern Sie die Einstellungen wie folgt:

    • Um die zugewiesenen Identitätsbereiche zu ändern, führen Sie sp_changemergearticle auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert identity_range oder pub_identity_range für @property und den neuen Bereichswert für @value an.

    • Um den Schwellenwert zu ändern, bei dessen Überschreiten neue Identitätsbereiche zugewiesen werden, führen Sie sp_changemergearticle auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert threshold für @property und den neuen Schwellenwert für @value an. Weitere Informationen dazu, wann neue Identitätsbereiche zugewiesen werden, finden Sie im Abschnitt zum Zuweisen von Identitätsbereichen im Thema Replizieren von Identitätsspalten.

    • Um die automatische Verwaltung von Identitätsbereichen zu deaktivieren, führen Sie sp_changemergearticle auf dem Verleger für die Veröffentlichungsdatenbank aus. Geben Sie den Wert identityrangemanagementoption für @property und entweder manual oder none für @value an.