Устранение неполадок ошибка 7391, возникающая при использовании связанного сервера в SQL Server

Код статьи: 306212 - Список продуктов, к которым относится данная статья.
Развернуть все | Свернуть все

На этой странице

Аннотация

Данная статья является обычной руководство по устранению неполадок, связанных Ошибка 7391 сервера. В статье содержатся рекомендации и инструкции для определения причину и устранить эту ошибку. Однако это не полный список и некоторые проблемы, возможно, специфичные для вашей среды.

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

Появляется сообщение об ошибке 7391 при работе со связанным серверы.

В Microsoft SQL Server 2005 появляется следующее сообщение об ошибке:

Сервер: Сообщение 7391, уровень 16, состояние 1, строка 1
Не удается выполнить операцию, так как поставщик OLE DB «% ls» для связанного сервера «% ls» не удалось начать распределенную транзакцию.

В SQL Server 2000, появляется сообщение об ошибке:

Сервер: Сообщение 7391, уровень 16, состояние 1, <objectname>, Xx линия<b00></b00></objectname>
Не удается выполнить операцию, поскольку Поставщик OLE DB «% ls» не удалось
Начните распределенную транзакцию.

В SQL Server 7.0, появляется сообщение об ошибке:

Сервер: Msg 7391, уровень 16, состояние 1, строка 1 операция не может быть выполнена, так как
Поставщик OLE DB «% ls» не поддерживает распределенные транзакции. Поставщик OLE/DB [
возвращается сообщение: распределенных Ошибка транзакции]

В некоторых случаях может также появиться Следующая ошибка 8522:
Распределенные транзакции прервано по MSDTC.


Все номера ошибок, которые находятся в диапазоне от 7300 для 7399 указывает на проблему с поставщиком. По умолчанию так как каждый Поставщик может обладают разными возможностями и возвращают различные сведения, можно сделать Получает полное сообщение об ошибке. Чтобы получить полное сообщение об ошибке из Поставщики, выдайте эту команду, до выполнения запроса, в результате Ошибка:
DBCC TRACEON (3604, 7300)

Если появляется сообщение об ошибке 7391 из процесса, таких как репликация или Службы преобразования данных (DTS), может появиться сообщение об ошибке сообщения при код содержит инструкцию BEGIN TRAN РАСПРЕДЕЛЕННЫХ.

Убедитесь, что Проверка кода, который содержит инструкцию BEGIN TRAN РАСПРЕДЕЛЕННЫХ запросов Анализатор.
Запустите анализатор запросов, а затем запустите этот оператор путем входа в систему сервер с той же учетной записи SQL Server и агента SQL Server Стартовая учетная запись. Это поможет сузить по устранению неполадок.

Обычно разрешение

Ниже приведен список наиболее распространенных способов ошибке 7391.

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

Примечание При использовании SQL Server 2005, используйте вместо Query Analyzer и Enterprise Manager SQL Server Management Studio для выполнения операции, упомянутые в данной статье. Обратите внимание на то, что некоторые пользовательские интерфейсы среды SQL Server Management Studio может отличаться от пользовательских интерфейсов в Query Analyzer или в диспетчере Enterprise Manager. См. соответствующий раздел в электронной документации по SQL Server 2005 и внести соответствующие изменения в операции.

Проблемы совместимости
  • Свяжитесь с поставщиком драйвера, который используется в вашей связанных сервер запросов для просмотра, распространяется ли драйвер поддерживает транзакции.
  • Проверьте, ссылается ли объект на сервере назначения первый сервер. Это так называемую ситуации замыкания на себя. Это не поддерживается, как описано в электронной документации по SQL Server. Для получения дополнительных сведения, посетите следующий веб-узел корпорации Майкрософт:

    Замыкание на себя связанные серверы

Вопросы взаимодействия
  • Убедитесь, что разрешения сетевых имен работает. Убедитесь, что серверы могут взаимодействовать друг с другом по имени, а не только по IP-адрес. Проверьте в обоих направлениях (например, с сервера a на сервер b и с на сервер B A). Необходимо устранить все проблемы с разрешением имен на сети, прежде чем выполнить распределенный запрос. Для этого может потребоваться обновление WINS, DNS, или LMHost файлов. Для получения дополнительных сведений обратитесь к следующей статье в База знаний корпорации Майкрософт:

    169790 Устранение основных неполадок протокола TCP/IP
  • Если у вас есть брандмауэр, убедитесь, что пульте дистанционного управления Процедура вызова (RPC) порты открываются правильно.

    Для получения дополнительных сведений щелкните следующую статью номера статей базы знаний Майкрософт:
    154596Методические УКАЗАНИЯ: Настройка выделения динамических портов RPC для работы с брандмауэром

    179442 Как настроить брандмауэр между доменами

    287932 INF: TCP-порты для подключения к SQL Server через брандмауэр
  • Проверка объекта ссылаются на целевом сервере. Если он представление или хранимую процедуру или в результате выполнения триггера, проверка ли он неявно ссылается другой сервер. Если таким образом, третий сервер источник проблемы. Выполните запрос непосредственно на третьем сервере. Если вы не удается выполнить запрос непосредственно на сервере третья проблема не фактически в запросе связанного сервера. Сначала устраните ее причину.
  • Проверьте, используется ли сервер удаленного доступа (RAS) на доступ к удаленным серверам. Если это так, убедитесь, что реализации маршрутизации службы удаленного доступа (RRAS). Связанный сервер не работает для удаленного доступа, поскольку удаленного доступа разрешает только одним способом обмен данными.

Проблемы с конфигурацией
  • Запустить координатор распределенных транзакций (DTC или MSDTC) на всех серверах, которые участвуют в распределенных транзакции.
  • Выполните эту инструкцию перед запуском запроса:
    SET XACT_ABORT ON
    Параметр XACT_ABORT должно быть присвоено значение ON для изменения данных операторы в явной или неявной транзакции от большинства OLE DB Поставщики, включая SQL Server. Этот параметр не является обязательным, если поставщик Поддержка вложенных транзакций.
  • Проверьте, являются ли один из серверов в кластере. Координатор распределенных Транзакций в кластере необходимо иметь свой собственный IP-адрес. Необходимо проверить имя разрешения службы DTC на каждом сервере. Должен быть IP-адрес DTC определенные в вашу систему разрешения имен (WINS, DNS или LMHosts). Убедитесь, Каждый сервер, которые могут взаимодействовать с другой стороны MSDTC по имени, а не только по IP адрес. Проверьте в обоих направлениях. Например проверка с сервера a на сервер B для MSDTC и проверьте с сервера B MSDTC сервера. Необходимо устранить все проблемы с разрешением имен перед запуском в распределенной сети запрос.
  • При использовании более ранних версий удаленных серверов вместо Рекомендуется использовать связанные серверы, установка remote proc trans
    значение параметра конфигурации в состояние OFF для сервера или проблема SET REMOTE_PROC_TRANSACTIONS OFF
    до выполнения любой инструкции распределенный запрос. Если этот параметр установлен в ON, удаленный вызов процедур
    внесенные в локальную транзакцию.
  • Проверить возвращаемое значение функции @@ SERVERNAME системы на обоих серверах. Проверить ли
    Возвращаемое значение совпадает с именем компьютера для каждого сервера. Если не совпадают, необходимо
    Переименование сервера.
    Для SQL Server 2000 обратитесь к следующей статье базы знаний Майкрософт Основание:
    303774 Ошибка: Переименование сервера в разделе Books Online является Incomplete

    Для SQL Server 7.0, просмотрите вопрос 5 в следующие статьи базы знаний Майкрософт:
    195759 INF-ФАЙЛ: Программа установки SQL - сервера SQL Server 7.0 - часто задаваемые вопросы по
  • Убедитесь, что стартовая учетная запись SQL Server имеет полный доступ разрешения на этот раздел реестра:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer

Ссылки

Дополнительные сведения о настройке связанных серверов следующий веб-узел корпорации Майкрософт:

Настройка Связанные серверы

Для получения дополнительных сведений щелкните следующую статью номера статей базы знаний Майкрософт:
295086 ИСПРАВИТЬ: Распределенные узлы в одном MS DTC не более 16 Транзакции
175496 XCON: Использование RPCPING для устранения неполадок подключения агента передачи сообщений
280106 ПРАКТИЧЕСКОЕ руководство: Настройка и устранение неполадок сервера, связанного с Oracle на SQL Server

Свойства

Код статьи: 306212 - Последнее изменение :: 6 июня 2011 г. - Редакция: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Ключевые слова: 
kbsqlsetup kbwins kbregistry kbprovider kbdtc kbdriver kbtransaction kbrpc kbtshoot kberrmsg kbclustering kbip kbinfo kbmt KB306212 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:306212

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