Поделиться через


sp_repldropcolumn (Transact-SQL)

Удаляет столбец из существующей статьи таблицы, которая была опубликована. Эта хранимая процедура выполняется в базе данных публикации на издателе.

ms190489.note(ru-ru,SQL.90).gifВажно!
Данная хранимая процедура устарела и поддерживается в основном для обеспечения обратной совместимости. Она должна применяться только с издателями Microsoft SQL Server 2000 и переиздающими подписчиками SQL Server 2000.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_repldropcolumn [ @source_object = ] 'source_object', [ @column = ] 'column' 
    [ , [ @schema_change_script = ] 'schema_change_script' ] 
    [ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ] 
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ] 

Аргументы

  • [ @source_object = ] 'source_object'
    Имя статьи таблицы, которая содержит столбец, подлежащий удалению. Аргумент source_object имеет тип nvarchar(258) и не имеет значения по умолчанию.
  • [ @column = ] 'column'
    Имя удаляемого столбца таблицы. Аргумент column имеет тип sysname и не имеет значения по умолчанию.
  • [ @schema_change_script = ] 'schema_change_script'
    Указывает имя и путь к сценарию SQL Server, используемому для изменения пользовательских хранимых процедур, сформированных системой. Аргумент schema_change_script имеет тип nvarchar(4000) и значение по умолчанию NULL. Репликация позволяет заменить одну или более процедур по умолчанию, используемых в репликации транзакций, пользовательскими хранимыми процедурами. Сценарий schema_change_script выполняется после того, как изменение схемы вступило в силу в статье реплицируемой таблицы посредством выполнения хранимой процедуры sp_repldropcolumn и может применяться, чтобы выполнить следующее.

    • Если пользовательские хранимые процедуры автоматически восстанавливаются, сценарий schema_change_script может использоваться для удаления этих пользовательских хранимых процедур и замещения их пользовательскими хранимыми процедурами, которые поддерживают новую схему.
    • Если пользовательские хранимые процедуры не восстанавливаются автоматически, то для их восстановления или создания пользовательских хранимых процедур можно воспользоваться сценарием schema_change_script.
  • [ @force_invalidate_snapshot = ] force_invalidate_snapshot
    Включает или отключает возможность наличия недействительных моментальных снимков. Аргумент force_invalidate_snapshot имеет тип bit и значение по умолчанию 1.

    Значение 1 указывает, что изменения в статье могут сделать моментальный снимок недействительным. В этом случае значение 1 дает разрешение на создание нового моментального снимка.

    Значение 0 указывает, что изменение статьи не приводит к недействительности моментального снимка.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Включает или отключает возможность повторной инициализации подписки. Аргумент force_reinit_subscription имеет тип bit и значение по умолчанию 0.

    Значение 0 указывает, что изменения в статье не вызывают повторной инициализации подписки.

    Значение 1 указывает, что изменения в статье могут привести к необходимости повторной инициализации подписки. В этом случае значение 1 дает разрешение на повторную инициализацию подписки.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Процедура sp_repldropcolumn устарела. Удаление столбца из реплицируемой статьи таблицы должно выполняться с помощью команд DDL, относящихся к опубликованной таблице. При репликации эти команды DDL реплицируются автоматически, если была включена репликация DDL. Дополнительные сведения см. в разделе Внесение изменений схем в базы данных публикаций.

Процедура sp_repladdcolumn требуется при передаче изменений DDL с переиздающих подписчиков, выполняющихся на более ранней версии Microsoft SQL Server 2000.

Процедура sp_repldropcolumn используется для всех типов репликации.

При использовании процедуры sp_repldropcolumn изменения схемы не распространяются на подписчик, и пользовательские процедуры для операций INSERT/UPDATE/DELETE не восстанавливаются на подписчиках — в том случае, если изменения схемы внесены в статью, принадлежащую публикации, которая использует пакет служб DTS. Пользователю необходимо восстановить этот пакет служб DTS вручную и выполнить соответствующие изменения схемы на подписчиках. Если не применить обновление схемы, то агент распространителя не сможет применить последующие изменения. Перед внесением изменений в схему убедитесь, что нет транзакций, ожидающих доставки.

ms190489.note(ru-ru,SQL.90).gifВажно!
После выполнения процедуры sp_repldropcolumn должна быть сделана резервная копия базы данных публикации. Невыполнение этого требования может вызвать сбой слияния после восстановления базы данных публикации.

Разрешения

Для выполнения хранимой процедуры sp_repldropcolumn необходимо быть членом фиксированной серверной роли sysadmin на издателе либо членом фиксированной роли db_ddladmin или db_ddladmin базы данных публикации.

См. также

Справочник

Системные хранимые процедуры (Transact-SQL)

Другие ресурсы

Устаревшие возможности в репликации SQL Server 2005

Справка и поддержка

Получение помощи по SQL Server 2005