Sdílet prostřednictvím


sp_repladdcolumn (Transact-SQL)

platí pro:SQL Serverazure SQL Managed Instance

Přidá sloupec do existujícího publikovaného článku tabulky. Umožňuje přidání nového sloupce do všech vydavatelů, kteří tuto tabulku publikují, nebo stačí přidat sloupec do konkrétní publikace, která tabulku publikuje. Tato uložená procedura se spustí v Publisheru v databázi publikace.

Důležité

Tato uložená procedura je zastaralá a je podporována kvůli zpětné kompatibilitě. Měla by se používat jenom s vydavateli SQL Serveru 2000 (8.x) a sql Serverem 2000 (8.x), které znovu publikují předplatitele. Tento postup by neměl být použit u sloupců s datovými typy, které byly zavedeny v SYSTÉMU SQL Server 2005 (9.x) a novějších verzích.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

[ @source_object = ] N'source_object'

Název článku tabulky, který obsahuje nový sloupec, který chcete přidat. @source_object je nvarchar(358) bez výchozího nastavení.

[ @column = ] N'column'

Název sloupce v tabulce, který se má přidat pro replikaci. @column je sysname bez výchozího nastavení.

[ @typetext = ] N'typetext'

Definice přidaného sloupce. @typetext je nvarchar(3000) bez výchozího nastavení. Pokud se například přidává sloupec order_filled a jedná se o jedno znakové pole, nikoli null a má výchozí hodnotu N, order_filled by byl parametr sloupce , zatímco definice sloupce char(1) NOT NULL CONSTRAINT constraint_name DEFAULT "N" by byla hodnota parametru @typetext .

[ @publication_to_add = ] N'publication_to_add'

Název publikace, do které je přidán nový sloupec. @publication_to_add je nvarchar(4000) s výchozím nastavením all. Pokud alljsou ovlivněny všechny publikace obsahující tuto tabulku. Pokud je zadána @publication_to_add , přidá se nový sloupec pouze v této publikaci.

[ @from_agent = ] from_agent

Určuje, jestli se uložená procedura spouští agentem replikace. @from_agent je int, s výchozím nastavením 0. Hodnota 1 se používá, když se tato uložená procedura spouští agentem replikace, a v každém druhém případě by se měla použít výchozí hodnota 0 .

[ @schema_change_script = ] N'schema_change_script'

Určuje název a cestu skriptu SQL Serveru, který se používá k úpravě systému generovaných vlastních uložených procedur. @schema_change_script je nvarchar(4000), s výchozí hodnotou NULL. Replikace umožňuje uživatelem definované vlastní uložené procedury nahradit jeden nebo více výchozích procedur používaných při transakční replikaci. @schema_change_script se spustí po provedení změny schématu v článku replikované tabulky pomocí sp_repladdcolumna lze ho použít následujícím způsobem:

  • Pokud se vlastní uložené procedury automaticky znovu vygenerují, @schema_change_script lze použít k vyřazení těchto vlastních uložených procedur a jejich nahrazení uživatelem definovanými vlastními uloženými procedurami, které podporují nové schéma.

  • Pokud se vlastní uložené procedury automaticky nevygenerují, @schema_change_script je možné použít k opětovnému vygenerování těchto uložených procedur nebo k vytvoření vlastních uložených procedur definovaných uživatelem.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Povolí nebo zakáže zneplatnění snímku. @force_invalidate_snapshot je bit s výchozím nastavením 1.

  • 1 určuje, že změny článku můžou způsobit, že snímek bude neplatný a v takovém případě hodnota 1 udělí oprávnění k vytvoření nového snímku.

  • 0 určuje, že změny článku nezpůsobí, že snímek bude neplatný.

[ @force_reinit_subscription = ] force_reinit_subscription

Povolí nebo zakáže možnost opětovné inicializace předplatného. @force_reinit_subscription je bit s výchozím nastavením 0.

  • 0 určuje, že změny článku nezpůsobí opětovné inicializaci předplatného.

  • 1 určuje, že změny článku můžou způsobit opětovné inicializaci předplatného, a pokud tomu tak je, hodnota 1 uděluje oprávnění k opětovné inicializaci předplatného.

Hodnoty návratového kódu

0 (úspěch) nebo 1 (selhání).

Povolení

Spustit lze sp_repladdcolumnpouze členy pevné role serveru správce systému a db_owner pevné databázové role .