Udostępnij za pośrednictwem


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.

Ikona łącza do tematuKonwencje składni Transact-SQL

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.

    UwagaUwaga:
    Ś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żna informacjaWaż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żna informacjaWaż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.

    UwagaUwaga:
    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żna informacjaWaż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żna informacjaWaż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.