sp_changemergearticle (języka Transact-SQL)
Zmienia właściwości artykuł korespondencji seryjnej.Ta procedura składowana jest wykonywany na Wydawca na bazie publikacja.
Składnia
sp_changemergearticle [ @publication = ] 'publication'
, [ @article = ] 'article'
[ , [ @property = ] 'property' ]
[ , [ @value = ] 'value' ]
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Argumenty
[ @ publikacja = 'publication"
Is the name of the publication in which the article exists.publication is sysname, with no default.[ @ artykuł = 'article"
Is the name of the article to change.article is sysname, with no default.[ @ Właściwość = 'property"
Is the property to change for the given article and publication.property is nvarchar(30), and can be one of the values listed in the table.[ @ wartość = 'value"
Is the new value for the specified property.value is nvarchar(1000), and can be one of the values listed in the table.Ta tabela zawiera opis właściwości artykułów i wartości tych właściwości.
Właściwość
Wartości
Opis
allow_interactive_resolver
PRAWDA
Umożliwia korzystanie z interaktywnych rozpoznawania nazw dla artykuł.
FAŁSZ
Wyłącza używanie interakcyjne rozpoznawania nazw dla artykuł.
article_resolver
Niestandardowego programu rozpoznawania nazw dla artykuł.Dotyczy tylko artykuł tabela.
check_permissions (mapa bitowa)
0x00
Uprawnienia poziom tabeli nie są sprawdzane.
0x10
Sprawdzane są uprawnienia poziom tabeli Wydawca przed oświadczeniami WSTAW subskrybent są stosowane w Wydawca.
0x20
Sprawdzane są uprawnienia poziom tabeli Wydawca przed AKTUALIZACJĄ oświadczenia składane przez subskrybenta są stosowane w Wydawca.
0x40
Sprawdzane są uprawnienia poziom tabeli Wydawca przed instrukcji DELETE subskrybent są stosowane w Wydawca.
column_tracking
PRAWDA
Włącza śledzenie poziom kolumna.Dotyczy tylko artykuł tabela.
Uwaga:Śledzenie poziom kolumny nie można używać podczas publikowania tabele z więcej niż 246 kolumn.FAŁSZ
Wyłącza śledzenie poziom kolumna i pozostawia wykrywanie konfliktów poziom wiersza.Dotyczy tylko artykuł tabela.
compensate_for_errors
PRAWDA
Kompensacyjnych akcje są wykonywane podczas synchronizacji występują błędy.Aby uzyskać więcej informacji, zobacz sp_addmergearticle.
FAŁSZ
Kompensacyjnych akcje nie są wykonywane, co jest zachowaniem domyślnym.Aby uzyskać więcej informacji, zobacz sp_addmergearticle.
Ważne:Mimo że dane w wierszach usterce może się wydawać z konwergencji, tak szybko, jak adres błędy, zmiany mogą być stosowane i dane będą zbieżne.Jeśli źródło tabela artykuł jest już opublikowany w innej publikacja, a następnie wartość compensate_for_errors musi być taki sam dla obu artykułów.creation_script
Ścieżkę i nazwę skryptu schematu opcjonalne artykułu używany do tworzenia artykułu w baza danych subskrypcja.
delete_tracking
PRAWDA
Usuń sprawozdania są replikowane, co jest zachowaniem domyślnym.
FAŁSZ
USUWANIE instrukcji nie są replikowane.
Ważne:Ustawienie delete_tracking do false wyniki w innych niż zbieżności oraz usunięte wiersze muszą zostać usunięte ręcznie.Opis
Opisowy wpis dla artykuł.
destination_owner
Nazwa właściciela obiektu w baza danych subskrypcja, jeśli nie dbo.
identity_range
bigintrozmiar zakres do przypisywania nowych wartości tożsamości, jeżeli artykuł, który określa identityrangemanagementoption zestaw do Automatyczne lub auto_identity_range zestaw do true.Dotyczy tylko artykuł tabela.Aby uzyskać więcej informacji zobacz "Scalania replikacji" sekcja Replikowanie kolumny tożsamości.
identityrangemanagementoption
Ręczne
Wyłącza automatyczne tożsamości zakres zarządzania.Oznacza kolumny tożsamości, Włącz obsługę zakres ręczne tożsamości za pomocą nie dla replikacji.Aby uzyskać więcej informacji, zobacz Replikowanie kolumny tożsamości.
Brak
Wyłącza wszystkie opcje zarządzania zakres tożsamości.
logical_record_level_conflict_detection
PRAWDA
Wykryto konflikt, jeśli zmiany zostaną wprowadzone w dowolnym miejscu w rekord logiczny.Wymaga, aby logical_record_level_conflict_resolution się zestaw do true.
FAŁSZ
wykrywanie konfliktów domyślne określone przez column_tracking.
logical_record_level_conflict_resolution
PRAWDA
Cały zwycięża rekord logiczny zastępuje przegrywająca rekordu logicznych.
FAŁSZ
Wygranie wierszy nie są ograniczone do rekord logiczny.
partition_options
0
The filtering for the article either is static or does not yield a unique subset of data for each partition, i.e.an "overlapping" partition.
1
Nakładają się na partycje, a DML aktualizacje dokonane przez subskrybenta nie można zmienić partycji, do której należy dany wiersz.
2
Filtrowanie artykuł plonów nie pokrywających się partycje, ale wielu subskrybentów może odbierać tej samej partycji.
3
Filtrowanie artykuł daje-nakładających się partycje, które są unikatowe dla subskrypcja.
Uwaga:Jeżeli określono wartość 3 dla partition_options, może istnieć tylko jeden subskrypcja dla każdej partycji danych w tym artykuł.Jeśli tworzony jest drugim subskrypcja, w którym kryterium filtrowania nowej subskrypcja jest rozpoznawany jako istniejącej subskrypcja tej samej partycji, istniejącej subskrypcja jest odrzucany.pre_creation_command
Brak
Jeśli tabela już istnieje subskrybent, zostanie podjęta żadna akcja.
Usuń
Wystawia delete oparte na klauzula WHERE w filtrze podzbiór.
Upuść
Krople tabela przed odtwarzania go.
obciąć
Obcina obiekt docelowy tabela.
processing_order
int który wskazuje kolejność przetwarzania artykułów w publikacja seryjnej.
pub_identity_range
bigintktóry określa rozmiar zakres przydzielone subskrybentowi w subskrypcja serwerowa, jeśli artykuł identityrangemanagementoption zestaw do Automatyczne lub auto_identity_range zestaw do true.Zakres ten tożsamości jest zarezerwowana dla republishing subskrybenta przydzielić do własnych subskrybentów.Dotyczy tylko artykuł tabela.Aby uzyskać więcej informacji zobacz "Scalania replikacji" sekcja Replikowanie kolumny tożsamości.
published_in_tran_pub
PRAWDA
Artykuł jest też publikowana w publikacja transakcyjnych.
FAŁSZ
Artykuł nie jest również publikowane w publikacja transakcyjnych.
resolver_info
Pozwala określić dodatkowe informacje wymagane przez niestandardowego programu rozpoznawania nazw.Some of the Microsoft Resolvers require a column provided as input to the resolver.resolver_info is nvarchar(255), with a default of NULL.Aby uzyskać więcej informacji, zobacz Programy rozpoznawania nazw opartych na modelu COM firmy Microsoft.
schema_option (mapa bitowa)
Aby uzyskać więcej informacji zobacz sekcję Spostrzeżenia w dalszej części tego tematu.
0x00
Powoduje wyłączenie wykonywanie skryptów przez agenta migawki i skrypt w creation_script.
0x01
Generuje skrypt tworzenia obiektu (CREATE TABLE, CREATE PROCEDURE itd.).
0x10
Generuje odpowiedni indeks klastrowany.
0x20
Konwertuje typy danych zdefiniowane przez użytkownika oparcie typów danych przez subskrybenta.Tej opcji nie można używać po wyboru lub domyślne ograniczenie kolumna typ zdefiniowany przez użytkownika (UDT), jeśli kolumna UDT klucz podstawowy, lub jeśli kolumna UDT odwołuje się kolumną obliczaną.
0x40
Generuje odpowiednie zbudowania indeksów nie klastrowanych.
0x80
Zawiera zadeklarowanej więzów integralność dla kluczy podstawowych.
0x100
Replikuje użytkownika wyzwalaczy w tabela artykuł, jeśli została zdefiniowana.
0x200
Replikuje ograniczenia klucza OBCEGO.Odwołanie tabela nie jest częścią publikacja, wszystkie ograniczenia klucza OBCEGO tabeli opublikowane, nie są replikowane.
0x400
Replikuje ograniczeń CHECK.
0x800
Replikuje ustawień domyślnych.
0x1000
Replikuje kolumna -poziom sortowanie.
0x2000
Replikuje właściwości rozszerzone, skojarzone z opublikowanego artykuł obiekt źródłowy.
0x4000
Replikuje unikatowe klucze, jeśli zdefiniowane w tabela artykuł.
0x8000
Generuje instrukcji ALTER TABLE, gdy ograniczenia wykonywanie skryptów.
0x10000
Replikuje ograniczeń CHECK jako nie dla replikacji, tak aby ograniczenia nie są wymuszane podczas synchronizacji.
0x20000
Replikuje ograniczenia klucza OBCEGO jako nie dla replikacji, tak aby ograniczenia nie są wymuszane podczas synchronizacji.
0x40000
Replikuje skojarzonych z aplikacjami tabela partycjonowana lub indeks.
0x80000
Replikuje schemat partycji dla tabela partycjonowana.
0x100000
Replikuje schemat partycji indeks partycjonowany.
0x200000
Replikuje tabela statystyk.
0x400000
Replikuje domyślne powiązania
0x800000
Replikuje reguły powiązania
0x1000000
Replikuje indeksu pełnotekstowego
0x2000000
Kolekcje schematu XML powiązane z xml kolumny nie są replikowane.
0x4000000
Replikuje indeksów na xml kolumny.
0x8000000
Utwórz wszystkie schematy już obecny na subskrybent.
0x10000000
Konwertuje xml kolumny do ntext na subskrybenta.
0x20000000
Konwertowania dużych obiektu typów danych (nvarchar(max), varchar(max), i varbinary(max)) wprowadzone w SQL Server 2005 do typów danych, które są obsługiwane w SQL Server 2000.Aby uzyskać informacje, jak te typy są mapowane zobacz "Mapowanie nowe dane typy dla starszych wersji" sekcja w W topologii replikacji przy użyciu wielu wersji programu SQL Server.
0x40000000
Replikuj uprawnienia.
0x80000000
Próba upuść zależności obiekty nie należące do publikacja.
0x100000000
Ta opcja służy do replikowania atrybut FILESTREAM, jeśli jest określony na varbinary(max) kolumny.Nie określono tę opcję, jeśli jest replikowana tabel do SQL Server 2005 abonentów.Replikowanie tabele, które mają FILESTREAM kolumny do SQL Server 2000 abonentów nie jest obsługiwany, niezależnie od tego, jak opcja schematu jest zestaw.Zobacz pokrewne opcja 0x800000000.
0x200000000
Konwertuje datę i czas typów danych (date, time, datetimeoffset, i datetime2), są wprowadzane w SQL Server 2008 do typów danych, które są obsługiwane w starszych wersjach SQL Server.Aby uzyskać informacje, jak te typy są mapowane zobacz "Mapowanie nowe dane typy dla starszych wersji" sekcja w W topologii replikacji przy użyciu wielu wersji programu SQL Server.
0x400000000
Replikuje opcję kompresji dla danych i indeksów.Aby uzyskać więcej informacji, zobacz Tworzenie skompresowanego tabel i indeksów.
0x800000000
Tej opcji do przechowywania danych FILESTREAM samodzielnie grupa plików przez subskrybenta.Jeśli ta opcja nie jest zestaw, FILESTREAM dane są przechowywane w domyślnej grupie plików.Replikacja nie tworzy aplikacjami; Dlatego jeśli użytkownik zestaw tę opcję, należy utworzyć grupa plików przed zastosowaniem migawka subskrybent.Aby uzyskać więcej informacji o tworzeniu obiektów przed zastosowaniem migawka, zobacz Wykonywanie skryptów przed i po zastosowaniu migawki.
Zobacz pokrewne opcja 0x100000000.
0x1000000000
Konwertuje language runtime (CLR) użytkownika typowych (UDTs) varbinary(max) Tak, aby kolumny typu UDT mogą być replikowane do subskrybentów systemem SQL Server 2005.
0x2000000000
Konwertuje hierarchyid Typ danych do varbinary(max) , aby kolumny typu hierarchyid mogą być replikowane do subskrybentów systemem SQL Server 2005.Aby uzyskać więcej informacji na temat używania hierarchyid kolumn w zreplikowanych tabelach, zobacz hierarchyid (języka Transact-SQL).
0x4000000000
Replikuje żadnych filtrowane indeksów w tabela.Więcej informacji o filtrowane indeksy, zobacz Filtrowane wskazówek indeksu.
0x8000000000
Konwertuje geography i geometry typów danych do varbinary(max) Tak, aby kolumny te typy mogą być replikowane do subskrybentów systemem SQL Server 2005.
0x10000000000
Replikuje indeksów na kolumnach typu geography i geometry.
NULL
System auto generuje opcja prawidłowym schematem artykuł.
Stan
aktywne
Wstępne przetwarzanie skryptu do publikowania tabela jest uruchamiane.
unsynced
Następnego uruchomienia skryptu wstępnego przetwarzania do publikowania w tabela czas Agent migawki jest uruchamiany.
stream_blob_columns
PRAWDA
Optymalizacja strumienia danych jest używany podczas replikowania kolumn duży obiekt binarny.Jednak niektóre funkcje replikacja scalająca takich jak logiczne, nadal można zapobiec optymalizacji strumienia wykorzystywaniu.
Ważne:Włączanie Optymalizacja pamięci mogą przeciążać wydajności agenta scalić podczas synchronizacji.Ta opcja powinna być używana tylko w podczas replikowania kolumny zawierające megabajtów danych.FAŁSZ
Optymalizacja nie jest używany podczas replikowania kolumn duży obiekt binarny.
subscriber_upload_options
0
Bez ograniczeń wprowadzonych na subskrybenta z aktualizacji subskrypcja kliencka; zmiany są przekazywane do Wydawca.Zmiana tej właściwość może wymagać czy istniejące należy ponownie zainicjować subskrybentów.
1
Zmiany są dozwolone na subskrybentowi w subskrypcja klient, ale nie są one przekazywane do Wydawca.
2
Zmiany nie są dozwolone na abonenta z subskrypcja kliencka.
subset_filterclause
Określając poziomy filtrowanie klauzula WHERE.Dotyczy tylko artykuł tabela.
Ważne:Ze względu na wydajność, zaleca się nie stosować funkcje nazw kolumn w sparametryzowany filtr wierszy klauzule, takie jak LEFT([MyColumn]) = SUSER_SNAME().Jeśli używasz HOST_NAME w klauzula filtru i zastąp wartość HOST_NAME może być konwersji typów danych za pomocą PRZEKONWERTOWAĆ.Aby uzyskać więcej informacji o najważniejszych wskazówkach dotyczących tej przypadek zobacz sekcję "Przesłanianie wartość HOST_NAME()" in Filtry parametrami wiersza.próg
Percentage value used for Subscribers running SQL Server Compact 3.5 z dodatkiem SP1 or earlier versions of SQL Server.threshold controls when the Merge Agent assigns a new identity range.Użyto wartości procentowej wartości określonej w polu Próg agenta scalanie tworzy nowy zakres tożsamości.Używana, gdy identityrangemanagementoption jest zestaw do Automatyczne lub auto_identity_range jest zestaw do true.Dotyczy tylko artykuł tabela.Aby uzyskać więcej informacji zobacz "Scalania replikacji" sekcja Replikowanie kolumny tożsamości.
verify_resolver_signature
1
Podpis cyfrowy niestandardowego programu rozpoznawania nazw jest weryfikowana w celu ustalenia, czy jest on z zaufanego źródło.
0
Aby ustalić, czy jest z zaufanego źródło nie został zweryfikowany podpis cyfrowy niestandardowego programu rozpoznawania nazw.
NULL(default)
Zwraca listę obsługiwanych wartości dla property.
[ @ force_invalidate_snapshot = force_invalidate_snapshot
Acknowledges that the action taken by this stored procedure may invalidate an existing snapshot.force_invalidate_snapshot is a bit, with a default of 0.0 określa zmiany artykuł korespondencji seryjnej nie powodują migawka się nieprawidłowy.Jeżeli procedura składowana wykryje, że zmiana wymaga Nowa migawka, wystąpi błąd i nie wprowadzono żadnych zmian.
1 oznacza, że zmiany scalania artykuł może spowodować migawki nieprawidłowa, a w przypadku istniejących subskrypcji, wymagające Nowa migawka daje uprawnienie dla istniejących migawki oznaczony jako przestarzałe i Nowa migawka generowane.
Zobacz sekcję Spostrzeżenia właściwości, po zmianie wymagają generacji Nowa migawka.
[ @ force_reinit_subscription = force_reinit_subscription
Acknowledges that the action taken by this stored procedure may require existing subscriptions to be reinitialized.force_reinit_subscription is a bit, with a default of 0.0 określa nie powodują zmiany artykuł seryjnej subskrypcja do należy ponownie zainicjować.Jeżeli procedura składowana wykryje, że zmiana wymaga istniejących subskrypcji należy ponownie zainicjować, wystąpi błąd i nie wprowadzono żadnych zmian.
1 oznacza, że zmiany scalania artykuł spowodować istniejących subskrypcja należy ponownie zainicjować i daje uprawnienie dla ponownego zainicjowania subskrypcja występuje.
Zobacz sekcję Spostrzeżenia właściwości, po zmianie wymagają wszystkich istniejących subskrypcji należy ponownie zainicjować.
Wartości kodów powrotnych
0 (sukces) lub 1 (błąd)
Uwagi
sp_changemergearticle używane w replikacja scalająca.
Ponieważ sp_changemergearticle służy do zmiany właściwości artykuł, które pierwotnie zostały określone za pomocą sp_addmergearticle, odnoszą się do sp_addmergearticle uzyskać dodatkowe informacje dotyczące tych właściwości.
Zmiana następujących właściwości wymaga wygenerowana Nowa migawka i należy określić wartość 1 dla force_invalidate_snapshot parametr:
check_permissions
column_tracking
destination_owner
pre_creation_cmd
schema_options
subset_filterclause
Zmiana następujących właściwości wymaga, czy istniejące subskrypcje, należy ponownie zainicjować, i należy określić wartość 1 dla force_reinit_subscription parametr:
check_permissions
column_tracking
destination_owner
subscriber_upload_options
subset_filterclause
Określając wartość 3- partition_options, oczyścić metadane w momencie scalania Agent jest uruchamiany i partycjonowana migawka wygasa szybciej.Korzystając z tej opcji, należy rozważyć włączenie subskrybent żądana partycjonowana migawka.Aby uzyskać więcej informacji, zobacz Migawki publikacji korespondencji seryjnej z filtrami sparametryzowana.
Podczas ustawiania column_tracking właściwość, jeśli tabela jest już opublikowany w innych publikacjach scalających kolumna śledzenia musi być taka sama jak wartość używana przez istniejące artykułów opartych na tej tabeli.Ten parametr dotyczy tylko artykuły tabela.
Jeśli wiele publikacji publikowanie artykułów opartych na tym samym tabela źródłowa, zmiana delete_tracking właściwości lub compensate_for_errors właściwość jeden artykuł powoduje zmiany dokonywane w innych artykułach, które są oparte na tej samej tabela.
Jeśli konto logowania i użytkownika Wydawca używane przez proces scalania nie ma uprawnień właociwej tabela, jak konflikty są rejestrowane zmiany nieprawidłowe.
Po zmianie wartości schema_option, system nie wykonuje logiczną aktualizacji.Oznacza to, że możesz zestaw schema_option za pomocą sp_changemergearticle, istniejących bit zestawtings może być wyłączona.Aby zachować istniejące ustawienia, należy wykonać & (Bitowe I) między wartością ustawiasz i bieżącą wartość schema_option, który można ustalić poprzez wykonywanie sp_helpmergearticle.
Opcja schematu jest prawidłowa
The following table describes the allowed schema_optionvalues, depending on article type.
Typ artykułu |
Wartości opcji schematu |
---|---|
Schemat FUNC tylko |
0x01 i 0x2000 |
indeksowany widok schematu tylko |
0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000 |
Schemat proc tylko |
0x01 i 0x2000 |
tabela |
Wszystkie opcje. |
tylko schematu widoku |
0x01, 0x040, 0x0100, 0x2000, 0x40000, 0x1000000, and 0x200000 |
Przykład
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article = N'SalesOrderHeader';
-- Enable column-level conflict tracking.
-- Changing this property requires that existing subscriptions
-- be reinitialized and that a new snapshot be generated.
USE [AdventureWorks2008R2]
EXEC sp_changemergearticle
@publication = @publication,
@article = @article,
@property = N'column_tracking',
@value = N'true',
@force_invalidate_snapshot = 1,
@force_reinit_subscription = 1;
GO
Uprawnienia
Tylko członkowie sysadmin stała rola serwera lub db_owner ustaloną rola bazy danych można wykonać sp_changemergearticle.
Zobacz także