sp_repladdcolumn (języka Transact-SQL)

Dodaje kolumna do istniejącej tabela artykuł , który został opublikowany.Umożliwia nowej kolumna do dodania do wszystkich wydawców, które publikować tej tabelalub po prostu dodać kolumna do określonej publikacja , która publikuje tabela.Ta procedura składowana jest wykonywany Wydawca publikacja bazy danych.

Ważna informacjaWażne:

Ta procedura składowana została zastąpiona i obsługiwanych głównie dla zgodności ze starszymi wersjami.Powinno być używane tylko z Microsoft SQL Server 2000 wydawcy i SQL Server 2000 ponowne opublikowanie subskrybentów.Ta procedura nie powinny być wykorzystywane na kolumn o typach danych, które zostały wprowadzone w SQL Server 2005 lub SQL Server 2008.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_repladdcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' ]
    [ , [ @typetext = ] 'typetext' ]
    [ , [ @publication_to_add = ] 'publication_to_add' ]
    [ , [ @from_agent = ] from_agent ]
    [ , [ @schema_change_script = ] 'schema_change_script' ]
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]

Argumenty

  • [ @ source_object =] 'source_object'
    Jest nazwą tabela artykuł , który zawiera nową kolumna , aby dodać.source_object jest nvarchar(358), z Brak domyślnej.

  • [ @kolumna =] 'column'
    Jest to nazwa kolumna w tabela dodaje się do replikacja.columnjest sysname, z braku domyślne.

  • [ @ typetext =] 'typetext'
    Definicja kolumna dodawana.typetextjest nvarchar(3000), z braku domyślne.Na przykład jeśli kolumna order_filled dodawany jest i jest to pojedynczy znak polenot NULL, a wartość domyślna ma n, order_filled byłoby column parametr podczas definicji kolumna char(1) NOT NULL constraint_name ograniczenie domyślne 'N' byłoby typetext wartość parametru.

  • [ @ publication_to_add =] 'publication_to_add'
    Jest to nazwa publikacja , do którego jest dodawana nowa kolumna .publication_to_addjest nvarchar(4000), domyślnie wszystkich.Jeśli wszystkich, a następnie dotyczy wszystkich publikacji zawierającej tej tabela .Jeśli publication_to_add jest określony, a następnie tylko publikacja nie zawiera nowej kolumna dodawane.

  • [ @ from_agent = ] from_agent
    Jeśli procedura składowana jest wykonywany przez agenta replikacja .from_agentjest int, domyślnie 0, gdzie wartość 1 jest używana, gdy ta procedura składowana jest wykonywany przez agenta replikacja i w każdym innym, przypadek wartość domyślna 0 powinny być używane.

  • [ @ schema_change_script =] 'schema_change_script'
    Określa nazwę i ścieżka SQL Server skryptu można modyfikować system generowania niestandardowych procedur przechowywanych.schema_change_scriptjest nvarchar(4000), domyślna wartość NULL.Replikacja umożliwia zdefiniowane przez użytkownika niestandardowych procedur przechowywanych zastąpienie jednego lub więcej procedur domyślne używane w replikacjatransakcyjnej.schema_change_scriptwykonywane po dokonaniu zmiany schematu doartykuł zreplikowanej tabelaprzy użyciu sp_repladdcolumni mogą być używane do wykonaj jedną z następujących czynności:

    • Jeśli niestandardowe procedury przechowywane są automatycznie generowane, schema_change_script można upuścić tych niestandardowych procedur przechowywanych i zastąpić je ze zdefiniowanej przez użytkownika niestandardowych procedur przechowywanych które obsługuje nowego schematu.

    • Jeśli niestandardowe procedury przechowywane nie są generowane automatycznie,schema_change_scriptmożna regenerować tych procedur przechowywanych lub utwórz zdefiniowane przez użytkownika niestandardowych procedur przechowywanych.

  • [ @ force_invalidate_snapshot = ] force_invalidate_snapshot
    Włącza lub wyłącza możliwość migawka unieważnione.force_invalidate_snapshotjest bit, domyślnie 1.

    1 Określa, że zmiany w artykuł może powodować migawka jest nieprawidłowy, i jeśli jest to przypadek, wartość 1 daje uprawnienie nowa migawka występuje.

    0 określa zmiany artykuł nie powodują migawka jest nieprawidłowy.

  • [ @ force_reinit_subscription = ] force_reinit_subscription
    Włącza lub wyłącza możliwość reinitializated subskrypcja .force_reinit_subscriptionjest bit z wartością domyślną 0.

    0 określa zmiany artykuł nie powodują należy ponownie zainicjować subskrypcja .

    1 Określa, że zmiany w artykuł może powodować subskrypcja należy ponownie zainicjować i jeśli jest to przypadek, wartość 1 daje uprawnienie ponownego zainicjowania subskrypcja występuje.

Wartości kodów powrotnych

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

Uwagi

sp_repladdcolumn zaniechano i dostarczone jedynie zgodność.Dodawanie kolumna do zreplikowanej tabelaartykuł powinno być wykonywane przez wykonywanie poleceń języka (DDL) definicja danych przeciwko opublikowanych tabela. Replikacja automatycznie replikuje te polecenia DDL tak długo, jak długo DDL replikacja została włączona.Aby uzyskać więcej informacji, zobacz temat Wprowadzanie zmian schematu na publikację baz danych.

sp_repladdcolumn jest nadal wymagane, gdy materiał rozmnożeniowy DDL zmienia się z ponowne opublikowanie subskrybentów z wcześniejszej wersja programu SQL Server 2000 abonentów.

sp_repladdcolumn jest używana dla wszystkich typów replikacja.

Podczas korzystania z sp_repladdcolumn, jeśli dokonywane zmiany schematu artykuł , który należy do publikacja , która korzysta z usług transformacji danych (DTS) pakiet, zmiany schematu nie są propagowane do subskrybenta i niestandardowych procedur INSERT/UPDATE/DELETE nie są generowane na subskrybentów.Użytkownik musi ręcznie ponownie wygenerować pakiet DTS i dokonaj odpowiedniego schematu w subskrybentów zmienić.Jeśli nie zastosowano aktualizacji schematu, Agent dystrybucji może się nie powieść zastosowanie kolejnych zmian.Przed dokonaniem zmiany schematu, upewnij się, nie ma oczekujących transakcji do dostarczenia.

Po typetext jest przypisywana wartość domyślna, czyli rodzaju funkcja (na przykład, "datetime not null default getdate()"), zbieżności nie może występować po dodaniu nowej kolumna , ponieważ funkcja jest wykonywana przez subskrybent do załadowania wartości domyślnej kolumna.

Sygnatura czasowa i kolumny obliczane są odfiltrowywane znak tryb publikacji.Jeśli Dodawanie sygnatury czasowej lub za pomocą kolumna obliczanej sp_repladdcolumn, subskrypcje takie publikacje nie pojawia się nowa kolumna.

Ważna informacjaWażne:

kopia zapasowa bazy danych publikacja powinny być wykonywane po sp_repladdcolumn zostało wykonane.Niewykonanie tego może spowodować awarię korespondencji seryjnej po przywracanie bazy danych publikacja .

Uprawnienia

Tylko członkowie sysadmin stała rola serwera i db_owner Stała rola bazy danych można wykonać sp_repladdcolumn.