Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
Ten temat opisuje, jak zarządzać kolumnami tożsamości w SQL Server za pomocą SQL Server Management Studio lub Transact-SQL. Gdy operacje wstawiania wykonywane u Subskrybenta są replikowane z powrotem do Publikującego, należy zarządzać kolumnami tożsamościowymi, aby uniknąć przypisania tej samej wartości tożsamości zarówno u Subskrybenta, jak i u Publikującego. Replikacja może automatycznie zarządzać zakresami tożsamości lub możesz wybrać ręczne zarządzanie zakresami tożsamości. Aby uzyskać informacje o opcjach zarządzania zakresem tożsamości oferowanych przez replikację, zobacz Replikuj kolumny tożsamości.
Zalecenia
Publikując tabelę w więcej niż jednej publikacji, musisz określić te same opcje zarządzania zakresem tożsamości dla obu publikacji. Więcej informacji można znaleźć w sekcji "Publikowanie tabel w więcej niż jednej publikacji" w sekcji Publikuj dane i obiekty bazy danych.
Aby utworzyć automatycznie zwiększającą się liczbę, która może być używana w wielu tabelach lub może być wywoływana z poziomu aplikacji bez odwoływania się do jakiejkolwiek tabeli, zobacz Numery Sekwencyjne.
Korzystanie z programu SQL Server Management Studio
Określ opcję zarządzania kolumnami tożsamości na zakładce Właściwości w oknie dialogowym Właściwości artykułu –< Artykuł> w kreatorze nowych publikacji. Więcej informacji o korzystaniu z tego czarodzieja można znaleźć w sekcji Utwórz publikację. W nowym Publication Wizard:
Jeśli na stronie Typ publikacji wybierzesz opcję Publikacja scalająca lub Publikacja transakcyjna z subskrypcjami aktualizowanymi, wybierz automatyczne lub ręczne zarządzanie zakresem wartości tożsamości (zalecane jest ustawienie automatyczne, które jest opcją domyślną). Po opublikowaniu tabeli własność nie może być modyfikowana, ale inne powiązane właściwości można modyfikować.
Jeśli wybierzesz inne typy publikacji, zarządzanie zakresem identyfikatorów należy ustawić na tryb ręczny.
Zmodyfikuj zakresy wartości tożsamości i progi na karcie Właściwości okna Właściwości artykułu -<Artykuł>, dostępnym w oknie dialogowym Właściwości publikacji - <Publikacja>. Aby uzyskać więcej informacji na temat uzyskiwania dostępu do tego okna dialogowego, zobacz Wyświetlanie i modyfikowanie właściwości publikacji.
Aby określić opcję zarządzania kolumną tożsamości
Jeśli wydawca korzysta z wersji SQL Server starszej niż SQL Server 2005 (9.x), na stronie Typ publikacji w Kreatorze nowej publikacji wybierz opcję Publikacja scalająca lub Publikacja transakcyjna z aktualizowanymi subskrypcjami.
Na stronie Artykuły wybierz tabelę z kolumną tożsamości.
Kliknij Właściwości artykułu, a następnie kliknij Ustaw właściwości wyróżnionej tabeli artykułu.
Na karcie Właściwości w oknie dialogowym Właściwości artykułu — <Artykuł>, w sekcji Zarządzanie zakresami wartości tożsamości ustaw właściwość Automatycznie zarządzaj zakresami wartości tożsamości na Automatyczne lub Ręczne (dla wydawców korzystających z programu SQL Server 2005 (9.x) lub nowszej wersji) albo True lub False (dla wydawców korzystających z wersji programu SQL Server starszej niż SQL Server 2005 (9.x)).
Jeśli w kroku 4 wybrałeś Automatic lub True , wpisz wartości opcji w poniższej tabeli. Aby uzyskać więcej informacji o tym, jak te ustawienia są używane, zobacz sekcję "Assigning Identity Ranges" w Replicate Identity Columns.
Option Value Description Rozmiar serii Publisher Wartość całkowita określająca rozmiar zakresu (na przykład 20000). Zobacz sekcję „Przypisywanie zakresów tożsamości” w sekcji Replikowanie kolumn tożsamości. Rozmiar zakresu abonenta Wartość całkowita określająca rozmiar zakresu (na przykład 10000). Zobacz sekcję „Przypisywanie zakresów tożsamości” w sekcji Replikowanie kolumn tożsamości. Procent progu zasięgu Wartość całkowita dla progu procentowego (na przykład 90 odpowiada 90 procentom). Procent całkowitych wartości tożsamości użytych w węźle przed przydzieleniem nowego zakresu tożsamości.
Uwaga: Ta wartość musi być określona, ale jest używana tylko przez: subskrybentów korzystających z kolejkowych subskrypcji aktualizacji; oraz subskrybentów do łączenia publikacji działających na SQL Server Compact lub wcześniejszych wersjach innych edycji SQL Server. Więcej informacji można znaleźć w sekcji "Przypisywanie zakresów tożsamości" w Replicate Identity Columns.Następna wartość początkowa zakresu Wartość całkowita. Read-only. Wartość, od której zacznie się kolejny zakres. Na przykład, jeśli aktualny zakres wynosi 5001-6000, ta wartość będzie 6001. Maksymalna wartość tożsamościowa Wartość całkowita. Read-only. Największa wartość dla kolumny tożsamości. Określa się to przez bazowy typ danych kolumny. Increment Wartość całkowita. Read-only. Kwota, o którą liczba w kolumnie tożsamości powinna wzrastać lub zmniejszać przy każdej wstawce: zazwyczaj ustawiana na 1. Kliknij przycisk OK.
Aby zmodyfikować zakresy tożsamości i progi po opublikowaniu tabeli
Na stronie Artykuły w oknie dialogowym Właściwości publikacji - <Publikacja> wybierz tabelę z kolumną tożsamości.
Kliknij Właściwości artykułu, a następnie kliknij Ustaw właściwości wyróżnionej tabeli artykułu.
W zakładce Właściwości w oknie dialogowym Właściwości artykułu - <Artykuł>, w sekcji Zarządzanie zakresem tożsamości, wprowadź wartości dla jednej lub więcej z następujących właściwości: rozmiar zakresu Publisher, rozmiar zakresu subskrybenta oraz procent progu zakresu.
Kliknij przycisk OK.
Kliknij OK w oknie dialogowym Właściwości publikacji - <Publikacja> .
Korzystanie z Transact-SQL
Możesz użyć procedur przechowywanych replikacji, aby określić opcje zarządzania zakresem tożsamości podczas tworzenia artykułu.
Aby umożliwić automatyczne zarządzanie zakresem tożsamości podczas definiowania artykułów dla publikacji transakcyjnej
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Jeśli publikowana tabela źródłowa ma kolumnę tożsamości, określ wartość auto dla @identityrangemanagementoption, zakres wartości tożsamości przypisanych Publisher dla @pub_identity_range, zakres wartości tożsamości przypisanych każdemu Subskrybentowi dla @identity_range oraz procent wszystkich wartości tożsamości użytych przed przypisaniem nowego zakresu tożsamości dla @threshold. Aby uzyskać więcej informacji na temat definiowania artykułów, zobacz Definiowanie artykułu.
Uwaga / Notatka
Upewnij się, że typ danych w kolumnie tożsamości jest wystarczająco duży, aby obsłużyć cały zakres tożsamości przypisywanych wszystkim Subskrybentom.
Aby wyłączyć automatyczne zarządzanie zakresami tożsamości podczas definiowania artykułów dla publikacji transakcyjnej
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Określ wartość manual dla @identityrangemanagementoption. Aby uzyskać więcej informacji na temat definiowania artykułów, zobacz Definiowanie artykułu.
Przypisz zakresy kolumnom artykułów tożsamościowych w Subscriber, aby uniknąć konfliktów przy aktualizacji Subskrybentów. Więcej informacji można znaleźć w sekcji dotyczącej przypisywania zakresów na potrzeby ręcznego zarządzania zakresami tożsamości w artykule Replikowanie kolumn tożsamości.
Aby umożliwić automatyczne zarządzanie zakresem tożsamości podczas definiowania artykułów dla publikacji scalonej
W Publisher w bazie danych publikacji wykonaj sp_addmergearticle. Jeśli publikowana tabela źródłowa ma kolumnę tożsamości, określ wartość auto dla @identityrangemanagementoption, zakres wartości tożsamości przypisanych subskrypcji serwera dla @pub_identity_range, zakres wartości tożsamości przypisanych do Publisher i każdej subskrypcji klienta dla @identity_range oraz procent wszystkich wartości tożsamości użytych przed przydzieleniem nowego zakresu tożsamości dla @threshold. Więcej informacji o tym, kiedy przypisywane są nowe zakresy tożsamości, można znaleźć w artykule Przypisywanie zakresów tożsamości w temacie Replikuj kolumny tożsamości. Aby uzyskać więcej informacji na temat definiowania artykułów, zobacz Definiowanie artykułu.
Uwaga / Notatka
Upewnij się, że typ danych w kolumnie tożsamości jest wystarczająco duży, aby poradzić sobie z całym zakresem tożsamości przypisanych wszystkim subskrybentom, szczególnie dla subskrybentów z subskrypcjami serwera.
Aby wyłączyć automatyczne zarządzanie zakresem wartości kolumny tożsamości podczas definiowania artykułów dla publikacji typu merge
W Publisher w bazie danych publikacji wykonaj sp_addmergearticle. Określ jedną z następujących wartości dla @identityrangemanagementoption:
ręcznie — zakresy identyfikatorów muszą być przypisywane ręcznie podczas aktualizowania subskrybentów.
brak - kolumny identyfikacyjne u Wydawcy nie będą definiowane jako kolumny identyfikacyjne u Subskrybenta.
Aby uzyskać więcej informacji na temat definiowania artykułów, zobacz Definiowanie artykułu.
Przypisz zakresy kolumnom artykułów tożsamościowych w Subscriber, aby uniknąć konfliktów przy aktualizacji Subskrybentów.
Zmiana ustawień automatycznego zarządzania zakresem wartości tożsamości dla istniejącego artykułu w publikacji migawkowej lub transakcyjnej
Na serwerze Publisher, w bazie danych publikacji, wykonaj sp_helparticle i zanotuj wartość identityrangemanagementoption w wynikowym zestawie. Jeśli ta wartość wynosi 0, automatyczne zarządzanie zakresem tożsamości nie jest włączone.
Jeśli wartość identityrangemanagementoption w zbiorze wyników wynosi 1, zmień ustawienia w następujący sposób:
Aby zmienić przypisane zakresy wartości tożsamości, wykonaj polecenie sp_changearticle u Publikującego w bazie danych publikacji. Określ wartość identity_range lub pub_identity_range dla @property oraz nową wartość zakresu dla @value.
Aby zmienić próg, przy którym przypisywane są nowe zakresy, wykonaj sp_changearticle na Publisher w bazie danych publikacji. Określ wartość progu dla @property oraz nową wartość progową dla @value.
Aby zmienić ustawienia automatycznego zarządzania zakresem tożsamości dla istniejącego artykułu w publikacji scalonej
Na serwerze Publisher, w bazie danych publikacji, wykonaj sp_helpmergearticle i zanotuj wartość identity_support w zestawie wyników. Jeśli ta wartość wynosi 0, automatyczne zarządzanie zakresem tożsamości nie jest włączone.
Jeśli wartość identity_support w zbiorze wyników wynosi 1, zmień ustawienia w następujący sposób:
Aby zmienić przypisane zakresy wartości tożsamości, wykonaj sp_changemergearticle na Publikatorze w bazie danych publikacji. Określ wartość identity_range lub pub_identity_range dla @property oraz nową wartość zakresu dla @value.
Aby zmienić próg, przy którym są przypisywane nowe zakresy, wykonaj polecenie sp_changemergearticle u Wydawcy w bazie danych publikacji. Określ wartość progu dla @property oraz nową wartość progową dla @value. Więcej informacji o tym, kiedy przypisywane są nowe zakresy tożsamości, można znaleźć w artykule Przypisywanie zakresów tożsamości w temacie Replikuj kolumny tożsamości.
Aby wyłączyć automatyczne zarządzanie zakresami wartości tożsamości, wykonaj sp_changemergearticle u wydawcy w bazie danych publikacji. Określ wartość identityrangemanagementoption dla @property oraz manual lub none dla @value.