sp_changearticle (języka Transact-SQL)

Zmienia właściwości artykuł w publikacja transakcyjnych lub migawka.Ta procedura składowana jest wykonywany na Wydawca na bazie publikacja.

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

Składnia

sp_changearticle [ [@publication= ] 'publication' ]
    [ , [ @article= ] 'article' ]
    [ , [ @property= ] 'property' ]
    [ , [ @value= ] 'value' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
    [ , [ @publisher = ] 'publisher' ]

Argumenty

  • [ @ publikacja = 'publication"
    Is the name of the publication that contains the article.publication is sysname, with a default of NULL.

  • [ @ artykuł = 'article"
    Is the name of the article whose property is to be changed.article is sysname, with a default of NULL.

  • [ @ Właściwość = 'property"
    Is an article property to change.property is nvarchar(100).

  • [ @ wartość = 'value"
    Is the new value of the article property.value is nvarchar(255).

    Ta tabela zawiera opis właściwości artykułów i wartości tych właściwości.

    Właściwość

    Wartości

    Opis

    creation_script

     

    Ścieżka i nazwa skryptu schematu artykuł, używane do tworzenia tabel miejsce docelowe.Wartością domyślną jest NULL.

    del_cmd

     

    Instrukcja DELETE, aby wykonać; w przeciwnym razie jest zbudowane z dziennika.

    Opis

     

    Nowy wpis opisową artykuł.

    dest_object

     

    Zapewnia zgodność ze starszymi wersjami.Użyj dest_table.

    dest_table

     

    Nowy obiekt docelowy tabela.

    destination_owner

     

    Nazwa właściciela obiekt docelowy obiektu.

    filtr

     

    Nowe procedura składowana do filtrowania tabela (filtrowanie pozioma).Wartością domyślną jest NULL.Nie można zmienić dla publikacji w replikacja równorzędna.

    fire_triggers_on_snapshot

    PRAWDA

    Zreplikowane wyzwalaczy użytkownika są wykonywane po migawka początkowa jest stosowany.

    UwagaUwaga:
    Wyzwalacze zostaną zreplikowane wartość maski bitowej schema_option musi zawierać wartość 0x100.

     

    FAŁSZ

    Zreplikowane wyzwalaczy użytkownika nie są wykonywane po migawka początkowa jest stosowany.

    identity_range

     

    Formanty rozmiar zakresów przypisanych tożsamości przypisany przez subskrybenta.Nie jest obsługiwana dla replikacja równorzędna.

    ins_cmd

     

    WSTAW instrukcja wykonanie; w przeciwnym razie jest zbudowane z dziennika.

    pre_creation_cmd

    Pre-Creation polecenia, które można upuścić, usuwanie lub obciąć obiekt docelowy tabela przed zastosowaniem synchronizacji.

     

    Brak

    Nie używać polecenia.

     

    Upuść

    Krople obiekt docelowy tabela.

     

    Usuń

    Usuwa obiekt docelowy tabela.

     

    obciąć

    Obcina obiekt docelowy tabela.

    pub_identity_range

     

    Formanty rozmiar zakresów przypisanych tożsamości przypisany przez subskrybenta.Nie jest obsługiwana dla replikacja równorzędna.

    schema_option

    Specifies the bitmap of the schema generation option for the given article.schema_option is binary(8).Aby uzyskać więcej informacji zobacz sekcję Spostrzeżenia w dalszej części tego tematu.

     

    0x00

    Wyłącza wykonywanie skryptów przez agenta migawki.

     

    0x01

    Generuje tworzenia obiektu (CREATE TABLE, CREATE PROCEDURE itd.).

     

    0x02

    Generuje procedur przechowywanych, które propaguje zmiany w artykuł, jeśli została zdefiniowana.

     

    0x04

    Kolumny identyfikacji są tworzone przy użyciu właściwość tożsamości.

     

    0x08

    Replikuj timestamp kolumny.Jeśli nie zestaw, timestamp kolumny są replikowane jako binary.

     

    0x10

    Generuje odpowiedni indeks klastrowany.

     

    0x20

    Typy danych zdefiniowane przez użytkownika konwertuje (UDT) oparcie typów danych przez subskrybenta.Tej opcji nie można używać po wyboru lub domyślne ograniczenie na kolumnie UDT, jeśli kolumna UDT klucz podstawowy, lub jeśli kolumna UDT odwołuje się kolumna obliczana.Nie jest obsługiwana dla wydawców Oracle.

     

    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

    Replikuje klucz podstawowy i unikatowych kluczy w artykule tabela jako ograniczenia przy użyciu instrukcji ALTER tabela.

    UwagaUwaga:
    Ta opcja została zaniechana.Użyj 0x80 i 0x4000 zamiast.

     

    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

    Domyślne powiązania

     

    0x800000

    Reguła powiązania

     

    0x1000000

    Indeks pełnotekstowy

     

    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) większych niż 8000 bajtów 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.

    0x20000000000

    Replikuje atrybut SPARSE dla kolumny.Aby uzyskać więcej informacji dotyczących tego atrybut, zobacz Przy użyciu kolumn Sparse.

    Stan

    Określa nowy stan właściwość.

     

    partycje poziome DTS

    Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

     

    Dołącz kolumna nazwy

    Nazwy kolumn są uwzględniane w replikowanych instrukcja INSERT.

     

    nie kolumna nazwy

    Nazwy kolumn nie są uwzględniane w replikowanych instrukcja INSERT.

     

    bez partycji poziome dts

    Nie zdefiniowano poziome partycji dla artykuł przez umożliwiającego przejście subskrypcja.

     

    Brak

    Czyści wszystkie opcje stanu w sysarticles tabela i oznacza artykuł jako nieaktywną.

     

    parametry

    Zmiany są propagowane do subskrybenta za pomocą poleceń sparametryzowanej.Jest to ustawienie domyślne dla nowego artykuł.

     

    ciągLiterały

    Zmiany są propagowane do subskrybenta za pomocą ciąg wartości literałów.

    sync_object

     

    Nazwa tabela lub widok używany do utworzenia pliku wyjściowego do synchronizacji.Wartością domyślną jest NULL.Nie jest obsługiwana dla wydawców Oracle.

    obszar tabel

    Identyfikuje obszar tabel, używane przez tabela rejestrowania artykuł opublikowane z bazy danych Oracle.Aby uzyskać więcej informacji, zobacz Zarządzanie obszary tabel Oracle.

    próg

     

    Wartość procentowa kontroluje, gdy Agent dystrybucji przypisuje nowego zakres tożsamości.Nie jest obsługiwana dla replikacja równorzędna.

    type

     

    Nie jest obsługiwana dla wydawców Oracle.

     

    logbased

    Artykuł na podstawie dziennika.

     

    logbased manualboth

    Artykuł na podstawie dziennika z filtru ręcznego i ręczne widoku.Ta opcja wymaga, aby sync_object i filter się również właściwości zestaw.Nie jest obsługiwana dla wydawców Oracle.

     

    logbased manualfilter

    Artykuł na podstawie dziennika z filtrem ręczne.Ta opcja wymaga, aby sync_object i filter się również właściwości zestaw.Nie jest obsługiwana dla wydawców Oracle.

     

    logbased manualview

    Na podstawie dziennika artykuł ręczne widoku.Ta opcja wymaga, aby sync_object się również właściwość zestaw.Nie jest obsługiwana dla wydawców Oracle.

     

    indexed viewlogbased

    Artykuł dziennika na podstawie indeksowany widok.Nie jest obsługiwana dla wydawców Oracle.Dla tego typu artykuł tabela bazowa nie trzeba osobno opublikowane.

     

    indexed viewlogbased manualboth

    Artykuł dziennika na podstawie indeksowany widok filtru ręcznego i ręczne widoku.Ta opcja wymaga, aby sync_object i filter się również właściwości zestaw.Dla tego typu artykuł tabela bazowa nie trzeba osobno opublikowane.Nie jest obsługiwana dla wydawców Oracle.

     

    indexed viewlogbased manualfilter

    indeksowany widok dziennika na podstawie artykuł ręczne filtr.Ta opcja wymaga sync_object i filter się również właściwości zestaw.Dla tego typu artykuł tabela bazowa nie trzeba osobno opublikowane.Nie jest obsługiwana dla wydawców Oracle.

     

    indexed viewlogbased manualview

    indeksowany widok dziennika na podstawie artykuł ręczne widoku.Ta opcja wymaga, aby sync_object się również właściwość zestaw.Dla tego typu artykuł tabela bazowa nie trzeba osobno opublikowane.Nie jest obsługiwana dla wydawców Oracle.

    upd_cmd

     

    Instrukcja UPDATE wykonać; w przeciwnym razie jest zbudowane z dziennika.

    NULL

    NULL

    Zwraca listę właściwości artykuł, które mogą być zmieniane.

  • [ @ 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ł 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 Określa, że zmiany w 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, że nie powodują zmiany artykuł 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 Określa, że zmiany w 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ć.

  • [ program publisher @ =] 'publisher"
    Specifies a non-SQL Server Publisher.publisher is sysname, with a default of NULL.

    Ostrzeżenie

    publishernie należy używać podczas zmieniania właściwości artykuł na SQL Server Wydawca.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_changearticle w replikacja migawka i replikacja transakcyjna.

Gdy artykuł należy do publikacja, która obsługuje peer-to-peer replikacja transakcyjna, można zmieniać tylko Opis, ins_cmd, upd_cmd, i del_cmd właściwości.

Dowolne z następujących właściwości: zmiana wymaga, wygenerowana Nowa migawka i należy określić wartość 1 dla force_invalidate_snapshot parametr:

  • del_cmd

  • dest_table

  • destination_owner

  • ins_cmd

  • pre_creation_cmd

  • schema_options

  • upd_cmd

Dowolne z następujących właściwości: zmiana wymaga, czy istniejące subskrypcje, należy ponownie zainicjować, i należy określić wartość 1 dla force_reinit_subscription parametru.

  • del_cmd

  • dest_table

  • destination_owner

  • filtr

  • ins_cmd

  • Stan

  • upd_cmd

W istniejącej publikacja, można sp_changearticle do zmiany artykuł bez konieczności usunąć i odtworzyć całej publikacja.

Ostrzeżenie

Po zmianie wartości schema_option, system nie wykonuje logiczną aktualizacji.Oznacza to, że możesz zestaw schema_option za pomocą sp_changearticle, 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_helparticle.

Prawidłowe opcje schematu

W poniższej tabela opisano wartości dopuszczalne schema_option na podstawie typu replikacja (wyświetlane u góry) i artykuł (pokazane niedziałający pierwszej kolumny).

Typ artykułu

Typ replikacji

 

 

Transakcyjne

Migawki

logbased

Wszystkie opcje

Wszystkie opcje, ale 0x02

logbased manualfilter

Wszystkie opcje

Wszystkie opcje, ale 0x02

logbased manualview

Wszystkie opcje

Wszystkie opcje, ale 0x02

indeksowany widok logbased

Wszystkie opcje

Wszystkie opcje, ale 0x02

indeksowany widok logbased manualfilter

Wszystkie opcje

Wszystkie opcje, ale 0x02

indeksowany widok logbased manualview

Wszystkie opcje

Wszystkie opcje, ale 0x02

indeksowany widok logbase manualboth

Wszystkie opcje

Wszystkie opcje, ale 0x02

szefowie proc

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

szefowie proc serializować

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

Schemat proc tylko

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

tylko schematu widoku

0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000

0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000

Schemat FUNC tylko

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

0x01, 0x20, 0x2000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x10000000, 0x20000000, 0x40000000, i 0x80000000

indeksowany widok schematu tylko

0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000

0x01, 0x010, 0x020, 0x040, 0x0100, 0x2000, 0x40000, 0x100000, 0x200000, 0x400000, 0x800000, 0x2000000, 0x8000000, 0x40000000, and 0x80000000

Ostrzeżenie

Kolejkowana publikacji aktualizacji schema_option wartość 0x80 musi być włączony.Obsługiwane schema_option wartości nie-SQL Server publikacje są: 0x01, 0x02, 0x10, 0x40, 0x80, 0x1000 and 0x4000.

Przykład

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));

-- Change the schema options to replicate schema with XML.
USE [AdventureWorks2008R2]
EXEC sp_changearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'schema_option', 
  @value = @option,
  @force_invalidate_snapshot = 1;
GO

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner ustaloną rola bazy danych można wykonać sp_changearticle.