Может появиться сообщение об ошибке при попытке запуска распределенных запросов из 64-разрядные клиентские SQL Server для связанного SQL Server 32-разрядные

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

Проблема

Рассмотрим следующую ситуацию. Определите связанный сервер Microsoft SQL Server 2000 32-разрядного экземпляра или экземпляра 7.0 SQL Server, например, с помощью процедуры sp_addlinkedserver хранятся или инструмента, который вызывает эту процедуру. Затем попытайтесь запустить распределенные запросы через SQL Server, 64-разрядной на 32-разрядных SQL Server 2000 или 7.0 SQL Server связанный сервер. В этом случае может возникнуть одна из следующих проблем:
  • Если не будет обновлен SQL Server 2000 server 32-разрядные SQL Server 2000 с пакетом обновления 3 (SP3) или SQL Server 2000 с пакетом обновления 4 (SP4) появляется следующее сообщение об ошибке:
    ODBC хранимые процедуры каталога на сервере <LinkedServerName> версия <OldVersionNumber>; версии <NewVersionNumber>или более поздней версии требуется для правильной работы. Обратитесь к системному администратору. </NewVersionNumber></OldVersionNumber></LinkedServerName>
  • Сообщение об ошибке при следующих условиях имеют значение true:
    • Установлен SQL Server 2000 SP3 или SP4 2000 SQL Server 2000 SQL Server 32-разрядного сервера, или использовать связанный сервер 7.0 SQL Server.
    • Версии системных хранимых процедур на 32-разрядные SQL Server 2000 server или на сервере SQL Server 7.0 отличаются от службы пакета версии устанавливается на сервере.
    Сообщение об ошибке следующего вида:
    Не удалось хранимой процедуры, необходимые для выполнения этой операции найти на сервере. Обратитесь к системному администратору.
    Сообщение об ошибке 7311, Уровень 16, состояние 2, строка 1
    Не удалось получить набор строк схемы «DBSCHEMA_TABLES_INFO» для поставщика OLE DB «SQLNCLI» для связанного сервера "<LinkedServerName>". Поставщик поддерживает интерфейс, но возвращает код ошибки при его использовании. </LinkedServerName>
Примечание При использовании связанного сервера SQL Server 2000 и сервера не была обновлена до SQL Server 2000 SP3 или SP4 2000 SQL Server, необходимо установить SQL Server 2000 SP3 или SP4 2000 SQL Server сначала.

Причина

Эта проблема возникает так как системные хранимые процедуры не обновляются в процессе установки пакета обновления. Необходимо вручную обновить системные хранимые процедуры после установки SQL Server 2000 с пакетом обновления (SP3) или SQL Server 2000 с пакетом обновления 4 (SP4), запустив instcat.sql.

Решение

Чтобы устранить эту проблему, резервного копирования базы данных master вручную запустите сценария Instcat.sql, поставляемый с SQL Server 2000 SP3 или SP4 на SQL Server 2000 server 32-разрядной или на экземпляр SQL Server 7.0. Перезагрузка SQL Server является обязательным.

Примеры с помощью Osql.exe Instcat.sql.

Использовать режим проверки подлинности Windows

Чтобы использовать режим проверки подлинности Windows для обновления системы хранения процедуры на 32-разрядного экземпляра SQL Server 2000 или 7.0 SQL Server сервер, выполните следующие действия.
  1. Войдите на компьютер с помощью учетной записи Windows, член SQL Server sysadmin фиксированной серверной роли.
  2. Нажмите кнопку Запуск, типcmd.exe, а затем нажмите кнопку ОК.
  3. В командной строке введите одну из следующих команд и нажмите клавишу ВВОД:

    Для экземпляра по умолчанию
    osql -E -S <LinkedServerName> -i <Location>\instcat.sql
    Для именованного экземпляра
    osql -E -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    Примечание<LinkedServerName></LinkedServerName>,<InstanceName></InstanceName>, и<Location></Location> представляет имя связанного сервера Имя экземпляра и полный путь к папке, содержащей Сценария Instcat.SQL. По умолчанию эта папка является SQL создаваемую C:\Program Server\MSSQL\Install.
Использовать режим проверки подлинности SQL Server

Обновление системы хранения с помощью режима проверки подлинности SQL Server процедуры на 32-разрядного экземпляра SQL Server 2000 или 7.0 SQL Server сервер, выполните следующие действия.
  1. Войдите в систему с помощью любого Windows Учетная запись.
  2. Нажмите кнопку Запуск, типcmd.exe, а затем нажмите кнопку ОК.
  3. В командной строке введите следующую команду, а затем Нажмите клавишу ВВОД:

    Для экземпляра по умолчанию
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName> -i <Location>\instcat.sql
    Для именованного экземпляра
     
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    
    Примечание<AdminLogin></AdminLogin> и<AdminPassword></AdminPassword> представляет учетную запись пользователя который является членом фиксированной серверной роли sysadmin SQL Server.
Примечание После запуска сценария Instcat.sql, многие сообщения создан. Последнее сообщение указывает, выполнялся ли сценарий успешно.

Статус

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

Свойства

Код статьи: 906954 - Последний отзыв: 10 сентября 2012 г. - Revision: 6.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
Ключевые слова: 
kbsqlsetup kbsql2005connect kbprb kbmt KB906954 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 906954

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

 

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