Udostępnij za pośrednictwem


sp_repladdcolumn (języka Transact-SQL)

Dodaje kolumna do artykuł tabela, który został opublikowany.Zezwala na nowej kolumna mają zostać dodane do wszystkich wydawców, publikowanie w tej tabela lub po prostu dodać kolumna do określonej publikacja, w której publikuje w tabela.Ta procedura przechowywana jest wykonywana przez wydawcę na baza danych publikacja.

Important noteImportant Note:

Ta procedura przechowywana została zastąpiona i obsługiwanego jest głównie dla zgodności ze starszymi wersjami.It should only be used with Microsoft SQL Server 2000 Publishers and SQL Server 2000 republishing Subscribers.Ta procedura nie powinny być używane na kolumn o typach danych, które zostały wprowadzone w SQL Server 2005 lub SQL Server 2008.

Topic link iconKonwencje składni języka Transact-SQL

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"
    Is the name of the table article that contains the new column to add.source_object is nvarchar(358), with no default.

  • [@ kolumna =] ' column"
    Is the name of the column in the table to be added for replication.column is sysname, with no default.

  • [@ typetext =] ' typetext"
    Is the definition of the column being added.typetext is nvarchar(3000), with no default.Na przykład, jeśli jest dodawany order_filled kolumna i jest jednym znakowe pole, nie mieć wartości NULL, a wartość domyślna wynosi N, order_filled byłoby column Parametr podczas definicji kolumna CHAR(1) NOT NULL CONSTRAINT constraint_name DEFAULT 'N' jest typetext wartość parametru.

  • [@ publication_to_add =] ' publication_to_add"
    Is the name of the publication to which the new column is added.publication_to_add is nvarchar(4000), with a default of ALL.Jeśli WSZYSTKIE, następnie wszystkie publikacje, zawierające w tej tabela są zagrożone.Jeśli publication_to_add jest określony, a następnie nowej kolumna dodawane jest tylko do tej publikacja.

  • [@ from_agent =] from_agent
    If the stored procedure is being executed by a replication agent.from_agent is int, with a default of 0, where a value of 1 is used when this stored procedure is being executed by a replication agent, and in every other case the default value of 0 should be used.

  • [@ schema_change_script =] ' schema_change_script"
    Specifies the name and path of a SQL Server script used to modify the system generated custom stored procedures.schema_change_script is nvarchar(4000), with a default of NULL.Replication allows user-defined custom stored procedures to replace one or more of the default procedures used in transactional replication.schema_change_script is executed after a schema change is made to a replicated table article using sp_repladdcolumn, and can be used to do one of the following:

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

    • If custom stored procedures are not automatically regenerated, schema_change_scriptcan be used to regenerate these stored procedures or to create user-defined custom stored procedures.

  • [@ force_invalidate_snapshot =] force_invalidate_snapshot
    Enables or disables the ability to have a snapshot invalidated.force_invalidate_snapshot is a bit, with a default of 1.

    1 Określa, który zmienia się na artykuł może spowodować, że migawka jest nieprawidłowy, i jeśli przypadek wartość 1 daje uprawnienia dla nowego migawka wystąpienia.

    0 Określa, który zmienia się na artykuł nie powodują migawka jest nieprawidłowy.

  • [@ force_reinit_subscription =] force_reinit_subscription
    Enables or disables the ability to have the subscription reinitializated.force_reinit_subscription is a bit with a default of 0.

    0 Określa, który zmienia się na artykuł nie powodują subskrypcję, aby się ustawienie ponownie inicjowane.

    1 Określa, że zmiany w artykule może powodować subskrypcję, aby ustawienie ponownie inicjowane, a jeśli przypadek wartość 1 daje uprawnienie dla reinicjowanie subskrypcja wystąpienia.

Wartości kodów powrotnych

0 (sukces) lub 1 (brak)

Remarks

sp_repladdcolumn została zastąpiona i jest dostarczane w celu zachowania wstecznej zgodności tylko.Dodawanie kolumna do artykuł zreplikowanej tabela powinno być wykonywane przez wykonywanie poleceń języka (DDL) definicja danych opublikowanych tabela.Replikacja automatycznie replikuje te polecenia DDL, dopóki replikacja DDL została włączona.Aby uzyskać więcej informacji zobacz Wprowadzanie zmian schematu na bazy danych w publikacja.

sp_repladdcolumn nadal wymagane jest, gdy propagowanie zmian DDL z republishing subskrybenci w starszej wersja SQL Server 2000 Subskrybentów.

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

Jeśli sp_repladdcolumn, artykuł, który należy do publikacja, która korzysta z pakiet Data transformacja Services (DTS) jest dokonywane zmiany schematu, zmiany schematu nie są propagowane do subskrybent i niestandardowe procedury INSERT/UPDATE/DELETE nie są generowane na subskrybent.Użytkownik musi ręcznie ponownie wygenerować pakiet DTS, a następnie wprowadzić odpowiadające im schematu, Zmień na subskrybentów.Jeśli nie zastosowano aktualizacji schematu, Agent dystrybucji może nie stosować kolejnych zmian.Przed dokonaniem zmiany schematu, upewnij się, że Brak oczekujących transakcji do dostarczenia.

Kiedy typetext jest przypisywana wartość domyślną, która jest nondeterministic funkcji (na przykład "Data/Godzina nie null getdate() domyślnej"), zbieżności nie może występować po dodaniu nowej kolumna, ponieważ funkcja jest wykonywana na abonenta w celu załadowania wartość domyślną kolumna.

Sygnatury czasowe i kolumny obliczane są odfiltrowane dla publikacji w trybie znaków.Dodawanie sygnatury czasowej lub kolumna obliczana przy użyciu sp_repladdcolumn, subskrypcje publikacja nie zostanie wyświetlony tej nowej kolumny.

Important noteImportant Note:

Po sp_repladdcolumn zostało wykonane, należy wykonać kopię zapasową bazy danych publikacja.Zaniechanie tej czynności może spowodować awarię korespondencji seryjnej po przywróceniu bazy danych publikacja.

Uprawnienia

Tylko członkowie sysadmin stałe roli serwera i db_owner, stałe rola bazy danych sp_repladdcolumn mogą być wykonać.