Verwalten von Identitätsspalten
In diesem Thema wird beschrieben, wie Identitätsspalten in SQL Server 2012 mit SQL Server Management Studio oder Transact-SQL verwaltet werden. 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. Informationen über die von der Replikation zur Verfügung gestellten Verwaltungsoptionen für Identitätsbereiche finden Sie unter Replizieren von Identitätsspalten.
In diesem Thema
Vorbereitungen:
Empfehlungen
So verwalten Sie Identitätsspalten mit:
SQL Server Management Studio
Transact-SQL
Vorbereitungen
Empfehlungen
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.
Weitere Informationen zu einer automatisch inkrementierten Nummer, die in mehreren Tabellen verwendet oder aus Anwendungen aufgerufen werden kann, ohne dass auf eine Tabelle verwiesen wird, finden Sie unter Sequenznummern.
[Top]
Verwendung von SQL Server Management Studio
Geben Sie im Assistenten für neue Veröffentlichung im Dialogfeld Artikeleigenschaften - <Artikel> auf der Registerkarte Eigenschaften eine Verwaltungsoption für Identitätsspalten an. Weitere Informationen zum Verwenden dieses Assistenten finden Sie unter Erstellen einer Veröffentlichung. Führen Sie im Assistenten für neue Veröffentlichung folgende Aktionen aus:
Wenn Sie auf der Seite Veröffentlichungstyp die Option Mergeveröffentlichung oder Transaktionsveröffentlichung mit aktualisierbaren Abonnements auswählen, wählen Sie die automatische oder manuelle Identitätsbereichsverwaltung aus (automatisch, die Standardeinstellung, wird empfohlen). Nach dem Veröffentlichen der Tabelle kann die Eigenschaft nicht geändert werden. Es können jedoch andere, verbundene Eigenschaften geändert werden.
Wenn Sie andere Veröffentlichungstypen auswählen, legen Sie die manuelle Identitätsbereichsverwaltung fest.
Ändern Sie die Identitätsbereiche und Schwellenwerte im Dialogfeld Artikeleigenschaften - <Artikel> auf der Registerkarte Eigenschaften. Dieses Dialogfeld ist über das Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> verfügbar. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter Anzeigen und Ändern von Veröffentlichungseigenschaften.
So geben Sie eine Verwaltungsoption für Identitätsspalten an
Wenn auf dem Verleger eine Version von SQL Server ausgeführt wird, die älter als SQL Server 2005 ist, wählen Sie im Assistenten für neue Veröffentlichung auf der Seite Veröffentlichungstyp die Option Mergeveröffentlichung oder Transaktionsveröffentlichung mit aktualisierbaren Abonnements aus.
Wählen Sie auf der Seite Artikel eine Tabelle mit einer Identitätsspalte aus.
Klicken Sie auf Artikeleigenschaften und anschließend auf Eigenschaften des hervorgehobenen Artikels festlegen.
Legen Sie im Dialogfeld Artikeleigenschaften - <Artikel> auf der Registerkarte Eigenschaften im Abschnitt Identitätsbereichsverwaltung die Eigenschaft Identitätsbereiche automatisch verwalten auf Automatisch oder Manuell (bei Verlegern, auf denen SQL Server 2005 oder höher ausgeführt wird) oder auf Wahr oder Falsch fest (bei Verlegern, auf denen eine Version von SQL Server ausgeführt wird, die älter als SQL Server 2005 ist).
Wenn Sie in Schritt 4 Automatisch oder Wahr ausgewählt haben, geben Sie Werte für die Optionen der folgenden Tabelle ein. Weitere Informationen zum Verwenden dieser Einstellungen finden Sie im Abschnitt zum Zuweisen von Identitätsbereichen unter Replizieren von Identitätsspalten.
Option
Wert
Beschreibung
Bereichsgröße auf dem Verleger
Ganze Zahl für die Bereichsgröße (z. B. 20000).
Weitere Informationen finden Sie im Abschnitt zum Zuweisen von Identitätsbereichen unter Replizieren von Identitätsspalten.
Bereichsgröße auf dem Abonnenten
Ganze Zahl für die Bereichsgröße (z. B. 10000).
Weitere Informationen finden Sie im Abschnitt zum Zuweisen von Identitätsbereichen unter Replizieren von Identitätsspalten.
Prozentsatz für Bereichsschwellenwert
Ganze Zahl für Schwellenwert in Prozent (z. B. 90 entspricht 90 %)
Der Prozentsatz der Identitätswerte, die in einem Knoten insgesamt verwendet werden, bevor ein neuer Identitätsbereich zugewiesen wird.
Hinweis Der Wert muss angeben werden, er wird jedoch nur von Abonnenten verwendet, die Abonnements mit verzögertem Update über eine Warteschlange verwenden, und von Abonnenten für Mergeveröffentlichungen, auf denen SQL Server Compact oder frühere Versionen von anderen SQL Server-Editionen ausgeführt werden. Weitere Informationen finden Sie im Abschnitt zum Zuweisen von Identitätsbereichen unter Replizieren von Identitätsspalten.
Anfangswert des nächsten Bereichs
Wert für ganze Zahl. Schreibgeschützt.
Der Wert, bei dem der nächste Bereich beginnt. Wenn der aktuelle Bereich z. B. 5001-6000 lautet, liegt dieser Wert bei 6001.
Maximaler Identitätswert
Wert für ganze Zahl. Schreibgeschützt.
Der größte Wert für die Identitätsspalte. Er wird durch den Basisdatentyp der Spalte bestimmt.
Inkrement
Wert für ganze Zahl. Schreibgeschützt.
Die Zahl, um die sich eine Identitätsspalte bei jeder Einfügung erhöhen oder verringern sollte: in der Regel auf 1 festgelegt.
Klicken Sie auf OK.
So ändern Sie Identitätsbereiche und Schwellenwerte nach dem Veröffentlichen einer Tabelle
Wählen Sie im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf der Registerkarte Artikel eine Tabelle mit einer Identitätsspalte aus.
Klicken Sie auf Artikeleigenschaften und anschließend auf Eigenschaften des hervorgehobenen Artikels festlegen.
Geben Sie im Dialogfeld Artikeleigenschaften - <Artikel> auf der Registerkarte Eigenschaften im Abschnitt Identitätsbereichsverwaltung Werte für eine oder mehrere der folgenden Eigenschaften ein: Bereichsgröße auf dem Verleger, Bereichsgröße auf dem Abonnenten und Prozentsatz für Bereichsschwellenwert.
Klicken Sie auf OK.
Klicken Sie im Dialogfeld Veröffentlichungseigenschaften - <Veröffentlichung> auf OK.
[Top]
Verwendung von Transact-SQL
Wenn ein Artikel erstellt wird, können Sie mithilfe gespeicherter Replikationsprozeduren Verwaltungsoptionen für Identitätsbereiche angeben.
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ätsspalten besitzt, 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 Definieren eines Artikels.
Hinweis 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
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 Definieren eines Artikels.
Weisen Sie auf dem Abonnenten Identitätsartikelspalten Bereiche zu, um zu verhindern, dass für Updateabonnenten 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ätsspalten besitzt, 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 Definieren eines Artikels.
Hinweis 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
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 Updateabonnenten 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 Definieren eines Artikels.
Weisen Sie auf dem Abonnenten Identitätsartikelspalten Bereiche zu, um zu verhindern, dass für Updateabonnenten Konflikte auftreten.
So ändern Sie die Einstellungen für die automatische Identitätsbereichsverwaltung für einen vorhandenen Artikel in einer Momentaufnahme- oder Transaktionsveröffentlichung
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.
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
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.
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.
[Top]
Siehe auch
Konzepte
Peer-zu-Peer-Transaktionsreplikation
Konzepte für gespeicherte Systemprozeduren für die Replikation