Vous pouvez recevoir un message d'erreur lorsque vous essayez d'exécuter des requêtes distribuées à partir d'un client de SQL Server 64 bits à un liées de SQL Server 32 bits

Traductions disponibles Traductions disponibles
Numéro d'article: 906954 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Envisagez le scénario suivant. Vous définissez un serveur lié à une 2000instance de Microsoft SQL Server 32 bits ou aSQL Server 7.0instance par exemple à l'aide de la sp_addlinkedserver procédure stockée ou un outil qui appelle cette procédure. Puis, vous essayez d'exécuter des requêtes distribuées par le serveur pour SQL de that64 bits serveur 32 bits SQL Server 2000 ou SQL Server 7.0 lié. Dans ce scénario, vous pouvez rencontrer l'un des problèmes suivants :
  • Si le serveur SQL Server 2000 32 bits n'a pas été upgradedto SQL Server 2000 Service Pack 3 (SP3) ou SQL Server 2000 Service Pack 4(SP4), le message d'erreur suivant s'affiche :
    Le ODBCcatalog stockées procédures installés sur le serveur <LinkedServerName>areversion <OldVersionNumber>; version <NewVersionNumber>ou ultérieure isrequired pour assurer un fonctionnement correct. Veuillez contacter votre administrateur système.</NewVersionNumber> </OldVersionNumber> </LinkedServerName>
  • Vous recevez un message d'erreur si la valeur true conditionsare suivant :
    • SQL Server 2000 SP3 ou SQL Server 2000 Service Pack 4 est installé sur le serveur SQL Server 2000 32 bits, ou vous utilisez le serveur lié SQL Server 7.0.
    • Les versions du système des procédures stockées sur le serveur SQL Server 2000 32 bits ou sur le serveur SQL Server 7.0 sont différentes de la version de service pack est installée sur le serveur.
    Le message d'erreur est semblable à la suivante :
    La procédure stockée nécessaire pour terminer cette opération notbe est introuvable sur le serveur. Veuillez contacter votre administrateur système.
    Msg7311, niveau 16, état 2, ligne 1
    Impossible d'obtenir l'ensemble de lignes de schéma « DBSCHEMA_TABLES_INFO » pour le fournisseur OLE DB « SQLNCLI » du serveur lié «<LinkedServerName>». Le fournisseur prend en charge l'interface, mais renvoie le code afailure lorsqu'il est utilisé. </LinkedServerName>
Remarque : Si vous utilisez le serveur lié SQL Server 2000 et le serveur n'a pas été mis à niveau vers SQL Server 2000 SP3 ou SQL Server 2000 SP4, vous devez installer tout d'abord le Service Pack 3 de SQL Server 2000 ou SQL Server 2000 SP4.

Cause

Ce problème se produit car le système de stockage proceduresare non mis à niveau dans le cadre de l'installation du service pack. Vous devez manuellement mettre à niveau les procédures stockées système après l'installation de SQL Server 2000 Service Pack (SP3) ou SQL Server 2000 Service Pack 4 (SP4) par exécuter instcat.sql.

Résolution

Pour résoudre ce problème, sauvegarde la base de données master puis exécuter manuellement le script Instcat.sql fourni avec SQL Server 2000 SP3 ou SP4 sur le serveur SQL Server 2000 32 bits ou sur l'instance de SQL Server 7.0. Aucun redémarrage de SQL Server n'est requise.

Exemples d'exécuter Instcat.sql à l'aide de Osql.exe :

Utiliser le mode d'authentification Windows

Pour utiliser le mode d'authentification Windows pour mettre à niveau le système de procédures stockées sur une instance 32 bits de SQL Server 2000 ou sur le serveur SQL Server 7.0, procédez comme suit :
  1. Ouvrez une session sur l'ordinateur à l'aide d'un compte Windows qui est amember du rôle de serveur fixe sysadmin de SQL Server.
  2. Cliquez sur exécuter, typecmd.exe, puis cliquez sur OK.
  3. À l'invite de commandes, tapez une des commandes suivantes et appuyez sur ENTRÉE :

    Pour une instance par défaut
    osql -E -S <LinkedServerName> -i <Location>\instcat.sql
    Pour une instance nommée
    osql -E -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    Remarque :<LinkedServerName></LinkedServerName>,<InstanceName></InstanceName>, et<Location></Location> représente le nom du serveur lié, le nom de l'instance et le chemin d'accès complet du dossier qui contient le script theInstcat.sql. Par défaut, ce dossier est C:\Program Files\Microsoft SQLServer\MSSQL\Install.
Utiliser le mode d'authentification de SQL Server

Pour utiliser le mode d'authentification de SQL Server pour mettre à niveau le système de procédures stockées sur une instance 32 bits de SQL Server 2000 ou sur un serveur SQL Server 7.0, procédez comme suit :
  1. Ouvrez une session sur l'ordinateur à l'aide de n'importe quel CompteWindows.
  2. Cliquez sur exécuter, typecmd.exe, puis cliquez sur OK.
  3. À l'invite de commandes, tapez la commande suivante et les thenpress d'entrée :

    Pour une instance par défaut
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName> -i <Location>\instcat.sql
    Pour une instance nommée
     
    osql -U <AdminLogin> -P <AdminPassword> -S <LinkedServerName>\<InstanceName> -i <Location>\instcat.sql
    
    Remarque :<AdminLogin></AdminLogin> et<AdminPassword></AdminPassword> représente l'Orchestratorqui de l'utilisateur est un membre du rôle de serveur fixe sysadmin de SQL Server.
Remarque : Après avoir exécuté le script Instcat.sql, de nombreux messages sont générés. Le dernier message indique si le script a été exécuté avec succès.

Statut

Microsoft a confirmé qu'il s'agit d'un problème pour les produits Microsoft répertoriés dans la section « S'applique à ».

Propriétés

Numéro d'article: 906954 - Dernière mise à jour: samedi 21 juin 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Édition Développeur
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2000 Édition Personelle
  • Microsoft SQL Server 2000 Standard
Mots-clés : 
kbsqlsetup kbsql2005connect kbprb kbmt KB906954 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 906954
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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