При выполнении распределенных транзакций с сопряженного сервера после установки пакета обновления 2 (SP2) для Windows XP или Windows Server 2003 может появиться сообщение об ошибке с номером 7391 в SQL Server 2000

Переводы статьи Переводы статьи
Код статьи: 839279 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

Когда выполнить распределенный транзакция экземпляр SQL Server, может появиться сообщение об ошибке следующий:

Сервер: Сообщение 7391, уровень 16, состояние 1, строка 1
Не удается выполнить операцию, так как поставщик OLE DB «sqloledb» не удалось начать распределенную транзакцию. Поставщик OLE/DB [ возвращается сообщение: новая транзакция не удается выполнить прикрепление в указанной транзакции Координатор. ] Трассировка ошибки OLE DB [/ поставщик OLE DB «sqloledb» ITransactionJoin::JoinTransaction возвращается 0x8004d00a.]


Такое поведение наблюдается при выполнении одного из следующих условий:
  • Microsoft Windows Server 2003 или Windows XP с пакетом обновления 2 (SP2) установлен на компьютер, который инициирует распределенную транзакцию.
  • На удаленном компьютере, который будет установлена Microsoft Windows Server 2003 или Microsoft Windows XP с пакетом обновления 2 под управлением Microsoft SQL Server 2000 и компьютер связан с компьютера, который запускает распределенную транзакцию.

Причина

Эта проблема возникает из-за одного или нескольких из следующих по причинам:
  • Координатор распределенных транзакций Для сетевых транзакций (MSDTC) будет отключена.
  • Брандмауэр Windows представляет собой на компьютере включена. По умолчанию брандмауэр Windows блокирует координатор распределенных транзакций Программа координатора (MSDTC).

    Примечание Это может происходить, даже если Windows Брандмауэр отключен.

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

Важные Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Тем не менее при неправильном изменении реестра, могут возникнуть серьезные проблемы. Таким образом Убедитесь, что внимательно выполните следующие действия. Для дополнительной защиты резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для получения дополнительных сведений о том, как резервное копирование и восстановление реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра Windows


Чтобы обойти эту проблему, выполните следующие действия на компьютере, на который устанавливается на Windows Server 2003 или Windows XP с пакетом обновления 2.
  1. Убедитесь, Убедитесь, что, Войдите в систему как учетная запись для службы MSDTC Сетевая служба учетная запись. Чтобы сделать это, выполните следующие действия:
    1. Нажмите кнопку Начало, а затем нажмите кнопку Запустить.
    2. В Запустить диалоговое окно, тип Services.msc, а затем нажмите кнопку ОК.
    3. В Службы окно поиска Распределенные транзакции Координатор службы в группе Имя в правой области.
    4. В группе Войдите в систему как столбец, см. ли Войдите в систему как учетная запись Сетевая служба -или- Локальные Система.

      Если Войдите в систему как учетная запись Сетевая служба, переход на шаге 2. Если Войдите в систему как учетная запись Локальная система учетная запись, выполните следующие действия.
    5. Нажмите кнопку Начало, а затем нажмите кнопку Запустить.
    6. В Запустить диалоговое окно, тип cmd, а затем нажмите кнопку ОК.
    7. В командной строке введите: NET stop MSDTC Чтобы остановить службу MSDTC.
    8. В командной строке введите: MSDTC –uninstall Чтобы удалить MSDTC.
    9. В командной строке введите: regedit Чтобы открыть редактор реестра.
    10. В редакторе реестра найдите следующий раздел:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC
      раздел реестра.

      Удалите этот раздел.
    11. Закройте редактор реестра.
    12. В командной строке введите: MSDTC –install для установки MSDTC.
    13. В командной строке введите: NET start MSDTC Чтобы запустить службу MSDTC.

      Обратите внимание, что Журнал В качестве Задайте учетную запись для службы MSDTC Сетевая службаучетная запись.
  2. Включите MSDTC разрешить сетевой транзакции. Чтобы сделать это, выполните следующие действия.
    1. Нажмите кнопку Начало, а затем нажмите кнопку Запустить.
    2. В Запустить диалоговое окно, тип DCOMCNFG.exe, а затем нажмите кнопку ОК.
    3. В Службы компонентов окно, Откройте группу Службы компонентов, разверните узел Компьютеры, и затем разверните узел Мой компьютер.
    4. Щелкните правой кнопкой мыши Мой компьютер, а затем Нажмите кнопку Свойства.
    5. В Свойства моего компьютера диалоговое окно Выберите Настройка безопасности В меню MSDTC Вкладка.
    6. В Настройка безопасности диалоговое окно поле, выберите Доступ К сети DTC загрузке поле.
    7. Для распределенные транзакции, запустите на этом компьютере из удаленного компьютер, установите Разрешить входящие загрузке поле.
    8. Для Разрешить распределенной транзакции для выполнения на удаленном компьютере из этого компьютер, установите Разрешить исходящиефлажок.
    9. В группе Диспетчер транзакций Обмен данными группы щелкните, чтобы выбрать Без проверки подлинности Требуется параметр. Набор Проверка подлинности не требуется как клиент, так и удаленными системами.
    10. В Настройка безопасности диалоговое окно Выберите ОК.
    11. В Свойства моего компьютера диалоговое окно Выберите ОК.
  3. Настройка брандмауэра Windows для включения Программа MSDTC и включить порт 135 в список исключений. Для этого Это, выполните следующие действия:
    1. Нажмите кнопку Начало, а затем нажмите кнопку Запустить.
    2. В Запустить диалоговое окно, тип Firewall.cpl, а затем нажмите кнопку ОК
    3. В Панель управления, дважды щелкните значок Брандмауэр Windows.
    4. В Брандмауэр Windows диалоговое окно, Нажмите кнопку Добавление программы В меню Исключения Вкладка.
    5. В Установка программы диалоговое окно, нажмите кнопку очередь Обзор Кнопка, а затем найдите файл Msdtc.exe. По по умолчанию, файл хранится в <installation drive="">: \Windows\System32</installation> папка.
    6. В Установка программы диалоговое окно, нажмите кнопку ОК.
    7. В Брандмауэр Windows диалоговое окно, Выберите MSDTC параметр в Программы и службы список.
    8. Нажмите кнопку Добавление порта В меню Исключения Вкладка.
    9. В Добавление порта диалоговое окно, тип 135 В диалоговом окне Номер порта текстовое поле и затем выберите TCP параметр.
    10. В Добавление порта диалоговое окно, введите имя для исключения в Имя текстовое поле, а затем нажмите ОК.
    11. В Брандмауэр Windows диалоговое окно, Выберите имя используемый для исключения в шаге j в Программы и службы список и нажмите кнопку ОК.
  4. Проверка команды ping с сервера узла на удаленный сервер и с удаленного сервера на сервер узла NetBIOS-имя (имя сервера, без имени домена). Координатор распределенных транзакций Microsoft использует NetBIOS-имя, а не полное доменное имя для поиска серверов. В случае сбоя разрешения имен распределенные транзакции не удастся. В случае сбоя проверки связи, используя имя netbios, обратитесь к следующей статье базы знаний:
    172218 Порядок разрешения имени узла Microsoft TCP/IP

Статус

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

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

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

  1. Журнал вход в систему с Windows Server 2003 или Windows XP с пакетом обновления 2 установлен.
  2. Начало Анализатор запросов.
  3. Добавить удаленный компьютер, на котором выполняется Microsoft SQL Server 2000 как связанный сервер. Чтобы сделать это, выполните следующую инструкцию Transact-SQL в запросе Анализ:
    EXEC sp_addlinkedserver  '<remote_server>',  N'SQL SERVER'
    GO

    Примечание Замена remote_server с именем компьютера, должен быть настроен в качестве связанного сервера.
  4. Запустить распределенные транзакции между локальным компьютером и удаленным компьютером. Для этого это выполнить следующее Инструкция Transact-SQL в запросе Анализ:
    SET xact_abort ON 
    GO
    USE  pubs
    GO
    BEGIN DISTRIBUTED TRANSACTION
    SELECT  *  FROM <remote_server>.pubs.dbo.authors
    COMMIT TRAN
    GO
    
    Вы может появиться сообщение об ошибке, описанное в разделе «Проблема».

Ссылки

Для получения дополнительных сведений о настройке пакета обновления 2 (SP2) для Windows XP для использования с SQL Server 2000 щелкните следующий номер статьи базы знаний Майкрософт:
841249Настройка пакета обновления 2 (SP2) для Windows XP для использования с SQL Server

Свойства

Код статьи: 839279 - Последний отзыв: 16 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft Windows XP Embedded
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
Ключевые слова: 
kbsqlsetup kbregistry kberrmsg kbdtc kbdomain kbauthentication kbtransaction kbrpc kbprb kbmt KB839279 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:839279

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

 

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