Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Managed Instance
Dit onderwerp beschrijft hoe identiteitskolommen in SQL Server beheerd kunnen worden door gebruik te maken van SQL Server Management Studio of Transact-SQL. Wanneer Subscriber-inserts worden teruggerepliceerd naar de Publisher, moeten identiteitskolommen worden beheerd om te voorkomen dat dezelfde identiteitswaarde wordt toegekend aan zowel de Subscriber als de Publisher. Replicatie kan identiteitsbereiken automatisch beheren of je kunt ervoor kiezen om handmatig het beheer van identiteitsbereiken te beheren. Voor informatie over de opties voor het beheer van identiteitsbereik die replicatie biedt, zie Identiteitskolommen repliceren.
Aanbevelingen
Bij het publiceren van een tabel in meer dan één publicatie moet u voor beide publicaties dezelfde opties voor identiteitsbereik beheren. Voor meer informatie, zie "Publicatietabellen in meer dan één publicatie" in Publish Data and Database Objects.
Zie Reeksnummersals u een automatisch oplopend getal wilt maken dat kan worden gebruikt in meerdere tabellen of die vanuit toepassingen kunnen worden aangeroepen zonder naar een tabel te verwijzen.
SQL Server Management Studio gebruiken
Geef op het tabblad Eigenschappen van het dialoogvenster Artikeleigenschappen -<Artikel> van de wizard Nieuwe publicatie een beheeroptie voor een identiteitskolom op. Voor meer informatie over het gebruik van deze wizard, zie Create a Publication. In de nieuwe publicatiewizard:
Als je op de pagina PublicatietypePublicatie samenvoegen of Transactionele publicatie met het bijwerken van abonnementen selecteert, kies dan automatisch of handmatig identiteitsbereikbeheer (automatisch, standaard, wordt aanbevolen). Nadat de tabel is gepubliceerd, kan de eigenschap niet worden gewijzigd, maar andere gerelateerde eigenschappen kunnen worden aangepast.
Als je andere publicatietypen selecteert, moet het beheer van identiteitsbereiken handmatig worden ingesteld.
Pas identiteitsbereiken en drempels aan op het tabblad Eigenschappen van Eigenschappen van artikel - <Artikel>, dat beschikbaar is in het dialoogvenster Eigenschappen van publicatie - <Publicatie>. Zie Publicatie-eigenschappen weergeven en wijzigen voor meer informatie over het openen van dit dialoogvenster.
Om een identiteitsoptie voor kolombeheer op te geven
Als de Publisher gebruikmaakt van een versie van SQL Server van vóór SQL Server 2005 (9.x), kiest u op de pagina Publicatietype van de wizard Nieuwe publicatie voor Samenvoegpublicatie of Transactionele publicatie met bijwerkende abonnementen.
Selecteer op de pagina Artikelen een tabel met een kolom identiteit.
Klik op Artikeleigenschappen en klik vervolgens op Eigenschappen van gemarkeerd tabelartikel instellen.
Op het tabblad Eigenschappen van het dialoogvenster Artikel Eigenschappen - <Artikel>, in het gedeelte Identiteitsbereikbeheer, zet je de eigenschap Automatisch beheren van identiteitsbereiken op Automatisch of Handmatig (voor uitgevers die SQL Server 2005 (9.x) of later draaien), of Waar of Onwaar (voor uitgevers die een versie van SQL Server draaien vóór SQL Server 2005 (9.x)).
Als je in stap 4 Automatisch of Waar hebt geselecteerd, voer dan waarden voor de opties in de volgende tabel. Voor meer informatie over hoe deze instellingen worden gebruikt, zie de sectie "Identiteitsbereiken toewijzen" van Identiteitskolommen Replicateren.
Option Value Description Grootte van het uitgeversbereik Integerwaarde voor de grootte van het bereik (bijvoorbeeld 20000). Zie de sectie 'Identiteitsbereiken toewijzen' in Identiteitskolommen repliceren. Grootte van het abonneebereik Geheel getal voor bereikgrootte (bijvoorbeeld 10.000). Zie de sectie 'Identiteitsbereiken toewijzen' in Identiteitskolommen repliceren. Percentage van de bereikdrempel Geheel getal voor procentdrempel (bijvoorbeeld, 90 is gelijk aan 90 procent). Percentage van het totale aantal identiteitswaarden dat op een knooppunt wordt gebruikt voordat een nieuw bereik met identiteitswaarden wordt toegewezen.
Opmerking: Deze waarde moet worden gespecificeerd, maar wordt alleen gebruikt door: abonnees die genoteerde update-abonnementen gebruiken; en abonnees om publicaties te combineren die SQL Server Compact of eerdere versies van andere SQL Server-edities draaien. Voor meer informatie, zie de sectie "Identiteitsbereiken toewijzen" van Identiteitskolommen Repliceren.Startwaarde van volgend bereik Integerwaarde. Alleen lezen. De waarde waarbij het volgende interval start. Als het huidige bereik bijvoorbeeld 5001-6000 is, zal deze waarde 6001 zijn. Maximale identiteitswaarde Integerwaarde. Alleen lezen. De grootste waarde voor de identiteitskolom. Bepaald door het basisdatatype van de kolom. Increment Integerwaarde. Alleen lezen. De hoeveelheid waarmee het nummer in de identiteitskolom moet toenemen of afnemen voor elke insert: meestal ingesteld op 1. Kies OK.
Om identiteitsbereiken en drempels te wijzigen nadat een tabel is gepubliceerd
Selecteer op de pagina Artikelen van het dialoogvenster Publicatie-eigenschappen - <Publicatie> een tabel met een identiteitskolom.
Klik op Artikeleigenschappen en klik vervolgens op Eigenschappen van gemarkeerd tabelartikel instellen.
Op het tabblad Eigenschappen van het dialoogvenster Artikel Eigenschappen - <Artikel>, in het gedeelte Identiteitsbereikbeheer, voer je waarden in voor een of meer van de volgende eigenschappen: grootte van de Publisher-bereik, Grootte van de bereik van abonnees en percentage van de drempel van het bereik.
Kies OK.
Klik op OK in het dialoogvenster Publicatie-eigenschappen - <Publicatie> .
Transact-SQL gebruiken
Je kunt opgeslagen procedures voor replicatie gebruiken om opties voor het beheren van identiteitsbereiken op te geven wanneer een artikel wordt gemaakt.
Om automatisch identiteitsbereikbeheer mogelijk te maken bij het definiëren van artikelen voor een transactionele publicatie
Voer op de Publisher in de publicatiedatabase sp_addarticle uit. Als de brontabel die wordt gepubliceerd een identiteitskolom heeft, specificeer dan een waarde van auto voor @identityrangemanagementoption, het bereik van identiteitswaarden dat aan de Publisher voor @pub_identity_range is toegekend, het bereik van identiteitswaarden dat aan elke abonnee voor @identity_range is toegekend, en het percentage van de totale identiteitswaarden dat wordt gebruikt voordat een nieuw identiteitsbereik wordt toegewezen voor @threshold. Zie Een artikel definiëren voor meer informatie over het definiëren van artikelen.
Note
Zorg ervoor dat het datatype van de identiteitskolom groot genoeg is om het totale bereik van toegewezen identiteiten aan alle abonnees te ondersteunen.
Het uitschakelen van automatisch identiteitsbereikbeheer bij het definiëren van artikelen voor een transactionele publicatie
Voer op de Publisher in de publicatiedatabase sp_addarticle uit. Geef een waarde van handmatig aan voor @identityrangemanagementoption. Zie Een artikel definiëren voor meer informatie over het definiëren van artikelen.
Wijs bereikwaarden toe aan artikelkolommen met identiteitswaarden op de Subscriber om conflicten te voorkomen voor Subscribers die kunnen worden bijgewerkt. Raadpleeg voor meer informatie de sectie over het toewijzen van identiteitsbereiken voor handmatig beheer van identiteitsbereiken in het onderwerp Identiteitskolommen repliceren.
Om automatisch identiteitsbereikbeheer mogelijk te maken bij het definiëren van artikelen voor een mergepublicatie
Voer sp_addmergearticle uit in de Publisher op de publicatiedatabase. Als de brontabel die wordt gepubliceerd een identiteitskolom heeft, specificeer dan een waarde van auto voor @identityrangemanagementoption, het bereik van identiteitswaarden toegewezen aan een serverabonnement voor @pub_identity_range, het bereik van identiteitswaarden dat aan de Publisher en elk clientabonnement voor @identity_range is toegewezen, en het percentage van de totale identiteitswaarden dat wordt gebruikt voordat een nieuw identiteitsbereik wordt toegewezen voor @threshold. Voor meer informatie over wanneer nieuwe identiteitsbereiken worden toegewezen, zie Toewijzen van identiteitsbereiken in het onderwerp Identiteitskolommen repliceren. Zie Een artikel definiëren voor meer informatie over het definiëren van artikelen.
Note
Zorg ervoor dat het datatype van de identiteitskolom groot genoeg is om het totale bereik van identiteiten te ondersteunen dat aan alle abonnees wordt toegewezen, vooral voor abonnees met serverabonnementen.
Om automatisch identiteitsbereikbeheer uit te schakelen bij het definiëren van artikelen voor een mergepublicatie
Voer sp_addmergearticle uit in de Publisher op de publicatiedatabase. Specificeer een van de volgende waarden voor @identityrangemanagementoption:
handmatig - Identiteitsbereiken moeten handmatig worden toegewezen voor het bijwerken van abonnees.
geen - Identiteitskolommen bij de Publisher worden niet gedefinieerd als identiteitskolommen bij de Abonnee.
Zie Een artikel definiëren voor meer informatie over het definiëren van artikelen.
Wijs bereikwaarden toe aan artikelkolommen met identiteitswaarden op de Subscriber om conflicten te voorkomen voor Subscribers die kunnen worden bijgewerkt.
Automatische instellingen voor identiteitsbereikbeheer wijzigen voor een bestaand artikel in een snapshot- of transactionele publicatie
Voer bij de Publisher op de publicatiedatabase sp_helparticle uit en noteer de waarde van identityrangemanagementoption in de resultatenset. Als deze waarde 0 is, is automatisch beheer van identiteitsbereik niet ingeschakeld.
Als de waarde van identityrangemanagementoption in de resultaatset 1 is, wijzig dan de instellingen als volgt:
Om de toegewezen identiteitsreeksen te wijzigen, voert u sp_changearticle uit bij de Publisher in de publicatiedatabase. Specificeer een waarde van identity_range of pub_identity_range voor @property en de nieuwe bereikwaarde voor @value.
Om de drempel te wijzigen waarbij nieuwe bereikwaarden worden toegewezen, voert u sp_changearticle uit bij de Publisher in de publicatiedatabase. Specificeer een drempel voor @property en de nieuwe drempelwaarde voor @value.
Automatische instellingen voor het beheer van identiteitsbereiken wijzigen voor een bestaand artikel in een samenvoegpublicatie
Voer op de Publisher in de publicatiedatabase sp_helpmergearticle uit en noteer de waarde van identity_support in de resultatenset. Als deze waarde 0 is, is automatisch beheer van identiteitsbereik niet ingeschakeld.
Als de waarde van identity_support in de resultaatset 1 is, wijzig dan de instellingen als volgt:
Om de toegewezen identiteitsbereiken te wijzigen, voert u sp_changemergearticle uit bij de Publisher in de publicatiedatabase. Specificeer een waarde van identity_range of pub_identity_range voor @property en de nieuwe bereikwaarde voor @value.
Om de drempel te wijzigen waarbij nieuwe bereiken worden toegewezen, voert u sp_changemergearticle uit bij de Publisher in de publicatiedatabase. Specificeer een drempel voor @property en de nieuwe drempelwaarde voor @value. Voor meer informatie over wanneer nieuwe identiteitsbereiken worden toegewezen, zie Toewijzen van identiteitsbereiken in het onderwerp Identiteitskolommen repliceren.
Om automatisch beheer van identiteitsbereiken uit te schakelen, voert u sp_changemergearticle uit bij de Publisher in de publicatiedatabase. Specificeer een waarde van identityrangemanagementoption voor @propertyen handmatig ofgeen voor @value.