Исправление: Ограничение внешнего ключа, перетащите в таблицу на издателе не удаляется в таблице на стороне подписчика в репликации слиянием SQL Server 2005

Переводы статьи Переводы статьи
Код статьи: 938825 - Vizualiza?i produsele pentru care se aplic? acest articol.
BUG #: 50001169 (исправление SQL)

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 файл с исправлениями. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2005 исправление выпуска.
Развернуть все | Свернуть все

В этой статье

Аннотация

Далее в статье о выпуске исправлений:
  • Проблем, устраняемых данным пакетом исправлений
  • необходимые условия для установки исправления;
  • необходимость перезагрузки компьютера после установки исправления;
  • замена исправления другими исправлениями;
  • необходимость изменения реестра;
  • Файлы, содержащиеся в пакете исправлений

Проблема

При репликации слиянием Microsoft SQL Server 2005 удалите ограничение внешнего ключа в таблице на издателе. После синхронизации данных между издателем и подписчиком, агент слияния репликации не сбрасывает ограничение внешнего ключа в таблице на стороне подписчика.

Данная проблема возникает, когда в связанных таблицах на издателе и на подписчике не принадлежат к схеме dbo.

Причина

Данная проблема возникает, потому что агент слияния репликации выполняется неправильный запрос на стороне подписчика. При выполнении запроса в агенте слияния репликацииOBJECT_IDфункция возвращает значение NULL. Затем инструкция IF EXISTS возвращает FALSE. Таким образом агент слияния репликации не выполняется инструкция DROP CONSTRAINT.

Ниже приведен пример запроса, который запускает агент репликации слиянием на подписчике.
IF EXISTS (SELECT * from sysconstraints WHERE constid = OBJECT_ID (N'[FK_DETAIL_TO_MASTER]')) 
IF OBJECT_ID (N'[Test].[Detail]') IS NOT NULL 
EXEC ('ALTER TABLE [Test].[Detail] DROP CONSTRAINT FK_DETAIL_TO_MASTER')

Решение

Информация об обновлениях

Это исправление включено в накопительный пакет обновления 2 (сборка 3175) для SQL Server 2005 с пакетом обновления 2 (SP2).

Для устранения проблемы, описанной в данной статье, выполните следующие действия.
  1. Установка SQL Server 2005 с пакетом обновления 2.
  2. Install cumulative update package 2 (build 3175) for SQL Server 2005 SP2.
Дополнительные сведения см. в следующих статьях базы знаний Майкрософт::
913089Получение последнего пакета обновления для SQL Server 2005
936305Доступен накопительный пакет обновления 2 для SQL Server 2005 с пакетом обновления 2 (SP2)

Сведения об исправлении

Вам доступно исправление от корпорации Майкрософт.. Это исправление предназначено для устранения проблемы, описанной в этой статье.. Его необходимо применять только в тех системах, в которых наблюдается данная проблема.. Исправление может проходить дополнительное тестирование.. Таким образом эта проблема не является постоянной для вас, мы рекомендуем дождаться следующего автоматического обновления программного обеспечения, содержащего это исправление..

Если исправление доступно для загрузки, имеется раздел «Доступные загрузки» в верхней части этой статьи базы знаний.. Если этот раздел не отображается, обратитесь в Службу поддержки клиентов Microsoft для получения исправления..

Примечание.Другие проблемы или если требуется устранить неполадки, возможно, потребуется создать отдельный запрос. Дополнительные услуги по технической поддержке, не связанные с данным исправлением, оплачиваются вами дополнительно.. Полный список телефонов поддержки и обслуживания клиентов Microsoft или информацию по созданию отдельного запроса на обслуживание вы можете найти на веб-сайте Майкрософт::
http://support.microsoft.com/contactus/?ws=support
Примечание.В форме "Исправление доступно для загрузки" отображаются языки, для которых доступно исправление. Если язык не отображается, это значит, что исправление не доступно для данного языка..

Предвартельные требования

You must have SQL Server 2005 SP2 installed to apply this hotfix.

Сведения о перезагрузке компьютера

Перезагружать компьютер не требуется..

Сведения о заменяемых исправлениях

Это исправление не заменяется других исправлений.

Сведения о внесении изменений в системный реестр

Нет изменений в реестр.

СВЕДЕНИЯ О ФАЙЛАХ

Данное исправление содержит только те файлы, необходимые для устранения описанных в этой статье перечислены. Это исправление может содержать не все файлы, необходимые для полного обновления продукта до последней сборки..

Английская версия исправления содержит версии файлов, приведенные в следующей таблице (или более поздние).. Дата и время для файлов указаны во всеобщем скоординированном времени (UTC).. При просмотре сведений о файле, время изменяется на местное.. Чтобы узнать разницу между временем по Гринвичу и местным временем,Часовой поясна вкладкеДата и времяэлемент панели управления.
SQL Server 2005 32-разрядная версия
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.AnalysisServices.dll9.0.3175.01,217,90414 Июня 2007 г.15: 05X86
Microsoft.SqlServer.MaintenancePlanTasks.dll9.0.3175.0296,30414 Июня 2007 г.15: 05X86
Msmdlocal.dll9.0.3175.015,948,14414 Июня 2007 г.15: 05X86
Mssqlsystemresource.ldfНеприменимо524,28814 Июня 2007 г.11: 22Неприменимо
Mssqlsystemresource.mdfНеприменимо40,173,56814 Июня 2007 г.11: 22Неприменимо
Odsole70.dll2005.90.3175.059,24814 Июня 2007 г.15: 05X86
Rdistcom.dll2005.90.3175.0644,97614 Июня 2007 г.15: 05X86
Replmerg.exe2005.90.3175.0320,88014 Июня 2007 г.15: 05X86
Replrec.dll2005.90.3175.0784,75214 Июня 2007 г.15: 05X86
SqlAccess.dll2005.90.3175.0350,57614 Июня 2007 г.15: 05X86
Sqlservr.exe2005.90.3175.029,193,07214 Июня 2007 г.15: 05X86
Sqlwep.dll2005.90.3175.090,99214 Июня 2007 г.15: 05X86
Sqsrvres.dll2005.90.3175.070,51214 Июня 2007 г.15: 05X86
Sysdbupg.SQLНеприменимо510,62213 Июня 2007 г.20: 46Неприменимо
Xpstar90.dll2005.90.3175.0295,79214 Июня 2007 г.15: 05X86
SQL Server 2005, x64-based version
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.AnalysisServices.dll9.0.3175.01,217,90414 Июня 2007 г.14: 05X86
Microsoft.SqlServer.MaintenancePlanTasks.dll9.0.3175.0296,30414 Июня 2007 г.14: 05X86
Msmdlocal.dll9.0.3175.015,948,14414 Июня 2007 г.14: 05X86
Mssqlsystemresource.ldfНеприменимо524,28814 Июня 2007 г.10: 22Неприменимо
Mssqlsystemresource.mdfНеприменимо40,173,56814 Июня 2007 г.10: 22Неприменимо
Odsole70.dll2005.90.3175.090,48014 Июня 2007 г.16: 41X64
Rdistcom.dll2005.90.3175.0828,78414 Июня 2007 г.16: 41X64
Replmerg.exe2005.90.3175.0417,64814 Июня 2007 г.16: 41X64
Replrec.dll2005.90.3175.01,011,56814 Июня 2007 г.16: 41X64
SqlAccess.dll2005.90.3175.0357,74414 Июня 2007 г.16: 41X86
Sqlservr.exe2005.90.3175.039,674,22414 Июня 2007 г.16: 41X64
Sqlwep.dll2005.90.3175.090,99214 Июня 2007 г.14: 05X86
Sqlwep.dll2005.90.3175.0123,76014 Июня 2007 г.16: 41X64
Sqsrvres.dll2005.90.3175.083,31214 Июня 2007 г.16: 41X64
Sysdbupg.SQLНеприменимо510,62213 Июня 2007 г.19: 46Неприменимо
Xpstar90.dll2005.90.3175.0546,67214 Июня 2007 г.16: 41X64
SQL Server 2005 версии архитектуры Itanium
Свернуть эту таблицуРазвернуть эту таблицу
Имя файлаВерсия файлаРазмер файла:Дата:времяПлатформа
Microsoft.AnalysisServices.dll9.0.3175.01,217,90414 Июня 2007 г.15: 05X86
Microsoft.SqlServer.MaintenancePlanTasks.dll9.0.3175.0296,30414 Июня 2007 г.15: 05X86
Msmdlocal.dll9.0.3175.049,904,49614 Июня 2007 г.19: 56IA-64
Mssqlsystemresource.ldfНеприменимо524,28814 Июня 2007 г.11: 22Неприменимо
Mssqlsystemresource.mdfНеприменимо40,173,56814 Июня 2007 г.11: 22Неприменимо
Odsole70.dll2005.90.3175.0179,56814 Июня 2007 г.19: 56IA-64
Rdistcom.dll2005.90.3175.01,885,55214 Июня 2007 г.19: 56IA-64
Replmerg.exe2005.90.3175.0957,29614 Июня 2007 г.19: 56IA-64
Replrec.dll2005.90.3175.02,145,13614 Июня 2007 г.19: 56IA-64
SqlAccess.dll2005.90.3175.0352,11214 Июня 2007 г.19: 56X86
Sqlservr.exe2005.90.3175.072,530,80014 Июня 2007 г.19: 56IA-64
Sqlwep.dll2005.90.3175.090,99214 Июня 2007 г.15: 05X86
Sqlwep.dll2005.90.3175.0221,04014 Июня 2007 г.19: 56IA-64
Sqsrvres.dll2005.90.3175.0147,31214 Июня 2007 г.19: 56IA-64
Sysdbupg.SQLНеприменимо510,62213 Июня 2007 г.20: 46Неприменимо
Xpstar90.dll2005.90.3175.0957,29614 Июня 2007 г.19: 56IA-64

Временное решение

Чтобы обойти эту проблему, вручную удалите ограничение внешнего ключа в таблице на стороне подписчика.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Дополнительная информация

Действия по воспроизведению проблемы

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

    Примечание.При создании ограничения внешнего ключа ограничения внешнего ключа создается с помощью схемы, которая не находится в схеме dbo.
  3. Публикация обеих таблиц.

    Примечание.При публикации таблиц, убедитесь, что выполнять следующие операции:
    • Задайте ограничения первичного ключа и ограничение внешнего ключа для подписчиков.
    • Указать, чтоВладелец целевого объектаСвойство статьи является для владельца, отличного от пользователя dbo.
  4. Инициализация подписки.
  5. Удалите ограничение внешнего ключа на издателе.
  6. Запустите агент слияния для синхронизации данных между издателем и подписчиком.

Ссылки

Для получения дополнительных сведений о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 938825 - Последний отзыв: 28 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Ключевые слова: 
kbautohotfix kbHotfixServer kbexpertiseadvanced kbqfe kbfix kbmt KB938825 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:938825

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com