В этой статье объясняется, как можно удалить таблицу, которая входит в состав публикации, из базы данных и публикации (-ей) в виде статьи. Таблицу можно удалить только в том случае, если для свойства allow_drop задано значение true для всех публикаций, в которых есть таблица (-ы) в качестве статьи. Если свойство имеет значение false для всех публикаций, содержащих статью, произойдет сбой операции DROP TABLE и отчет о том, что реплицированные статьи невозможно удалить. Если в публикации поддерживается инструкция DROP TABLE , то при выполнении операции DROP TABLE таблица будет удалена из публикации и базы данных. Агент чтения журнала будет публиковать команду очистки для базы данных распространителя в удаленной таблице и выполнять очистку метаданных издателя. Если средство чтения журнала не обработало записи журнала, которые ссылаются на удаленную таблицу, будет проигнорированы новые команды, связанные с удаленной таблицей. Уже обработанные записи будут доставлены в базу данных распространителя. Они могут применяться к базе данных подписчика, если они обрабатываются агентом распространителя перед тем, как будет очищена устаревшая (отброшенная) статья (-ей). Команда включения поддержки таблиц Drop для публикации:exec sp_changepublication @publication = '<Publication Name>', @property = 'allow_drop', @value = 'true' Команда включения поддержки таблицы Drop на этапе создания публикации:exec sp_addpublication @publication = '<Publication Name>', ..., @allow_drop = N'true' Для свойства allow_drop по умолчанию задано значение False.
Решение
Эта проблема исправлена в перечисленных ниже накопительных обновлениях для SQL Server.
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Сведения о пакете обновленияЭти функции впервые появились в указанных ниже пакетах обновления для SQL Server.
Сведения о пакетах обновления для SQL ServerПакеты обновления являются накопительными. Каждый новый пакет обновления включает все исправления из предыдущих пакетов обновления вместе с новыми исправлениями. Наши рекомендации относятся к установке последнего пакета обновления и последнего накопительного обновления для этого пакета обновления. Перед установкой последнего пакета обновления вам не нужно устанавливать предыдущий пакет обновления. С помощью таблицы 1 в следующей статье вы узнаете, как найти дополнительные сведения о последнем пакете обновления и новейшем накопительном обновлении.Определение версии, выпуска и уровня обновления SQL Server и его компонентов