DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 955695 - Dernière mise à jour: jeudi 16 juin 2011 - Version: 1.0

 
Important Cet article contient des informations sur la façon de modifier le Registre. Assurez-vous de sauvegarder le Registre avant de le modifier. Assurez-vous que vous savez le restaurer en cas de problème. Pour plus d'informations sur la façon de sauvegarder, restaurer et modifier le Registre, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
322756  (http://support.microsoft.com/kb/322756/ ) Comment faire pour sauvegarder et restaurer le Registre dans Windows
Microsoft distribue les correctifs de Microsoft SQL Server 2005 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et des correctifs de sécurité inclus avec la précédente de SQL Server 2005 version du correctif.

Sommaire

Symptômes

Considérez le scénario suivant.
  • Dans Microsoft SQL Server 2005 ou SQL Server 2008, vous exécutez un script Transact-SQL dans une étape dans un travail de l'Agent SQL Server.
  • Dans l'étape, la première instruction renvoie un message d'erreur.
  • Les instructions ultérieures retournent également un ou plusieurs messages d'erreur.
Dans ce scénario, lorsque vous exécutez le travail de l'Agent SQL Server, vous trouverez les instructions ultérieures ne sont pas traitées et que l'étape renvoie à tort l'état de réussite. Les résultats des instructions ultérieures sont tronqués.

Cause

L'Agent de SQL Server 2005 utilise le pilote SQL Native Client (Sqlncli.dll) pour se connecter à l'instance de SQL Server 2005. L'Agent de SQL Server 2000 utilise le pilote ODBC de SQL Server (Sqlsrv32.dll) pour vous connecter à Microsoft SQL Server 2000. Une modification dans le jeton d'erreur tabular data stream (TDS) qui est retourné à partir de SQL Server à l'Agent SQL Server entraîne une différence de comportement entre les deux pilotes. Cela entraîne la différence de comportement entre les deux versions de l'Agent SQL Server.

Résolution

SQL Server 2005

Le correctif de ce problème a été tout d'abord publié dans la mise à jour Cumulative 9. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulative pour SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
953752  (http://support.microsoft.com/kb/953752/LN/ ) Package de mise à jour cumulative 9 pour SQL Server 2005 Service Pack 2
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et des correctifs de sécurité inclus avec la précédente de SQL Server 2005 version du correctif. Microsoft vous recommande d'envisager l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137  (http://support.microsoft.com/kb/937137/LN/ ) Versions de SQL Server 2005 publiées après SQL Server 2005 Service Pack 2
Correctifs Microsoft SQL Server 2005 sont créés pour les service packs de SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2005 Service Pack 2 pour une installation de SQL Server 2005 Service Pack 2. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclus dans le prochain service pack SQL Server.

SQL Server 2008

Le correctif de ce problème est incorporé dans le versiom RTM de SQL Server 2008. Toutefois, pour activer le correctif, vous toujours peut-être apporter les modifications du Registre qui sont décrits dans la section « Informations complémentaires ».

Contournement

Pour contourner ce problème, ajoutez une instruction SELECT factice comme première instruction dans l'étape.

Statut

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

Plus d'informations

Avertissement Problèmes sérieux peuvent survenir si vous modifiez le Registre de manière incorrecte en utilisant l'Éditeur du Registre ou une autre méthode. Ces problèmes peuvent nécessiter la réinstallation du système d'exploitation. Microsoft ne peut pas garantir que ces problèmes peuvent être résolus. Modifiez le Registre à vos risques et périls.
Pour activer ce correctif, vous devez créer l'entrée de Registre suivante et la valeur de cette entrée de Registre sur 0 :
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<mssql.x>\SQLServerAgent\TruncateJobResultOnError<b00></b00></mssql.x>

Remarque Dans cette entrée de Registre <mssql.x></mssql.x>représente l'ID de l'instance de SQL Server. Vous devez la modifier à la valeur correcte pour votre instance.

Si vous souhaitez désactiver ce correctif logiciel, définissez l'entrée de Registre TruncateJobResultOnError sur 1.

Procédure pour reproduire ce problème

  1. Créez une procédure stockée étendue. Par exemple, créer l'exemple de procédure stockée nommée xp_hello étendue.
  2. Créer un travail de l'Agent SQL Server et ajoutez les instructions suivantes dans une étape de travail de l'Agent SQL Server :
    declare @txt int
    exec xp_hello @txt OUTPUT
    RAISERROR('One or more operations failed to complete.', 16, 1)
    
  3. Exécuter le travail de l'Agent SQL Server.
Lorsque le xp_hello procédure stockée étendue renvoie une erreur de niveau de gravité 1 et l'entrée de Registre TruncateJobResultOnError est définie sur 0, l'étape de travail est signalé comme ayant échoué. Les résultats de la xp_hello de procédure stockée étendue et l'instruction RAISERROR sont capturées dans l'historique du travail. Lorsque vous passez en revue l'historique du travail, vous trouvez que le niveau de gravité des étapes est 16.

Lorsque le xp_hello procédure stockée étendue renvoie une erreur de niveau de gravité 1 et l'entrée de Registre TruncateJobResultOnError est définie sur 1, l'étape de travail est signalé comme un succès. Que le résultat de la xp_hello de la procédure stockée étendue est capturé dans l'historique du travail. Le résultat de l'instruction RAISERROR est tronqué. Lorsque vous passez en revue l'historique du travail, vous trouvez que le niveau de gravité des étapes 1.

Lorsque le xp_hello procédure stockée étendue renvoie une erreur de niveau de gravité 11 et l'entrée de Registre TruncateJobResultOnError est définie sur 0, l'étape de travail est signalé comme ayant échoué. Les résultats de la xp_hello de procédure stockée étendue et l'instruction RAISERROR sont capturées dans l'historique du travail. Lorsque vous passez en revue l'historique du travail, vous trouvez que le niveau de gravité des étapes est 16.

Lorsque le xp_hello procédure stockée étendue renvoie une erreur de niveau de gravité 11 et l'entrée de Registre TruncateJobResultOnError est définie sur 1, l'étape de travail est signalé comme ayant échoué. Que le résultat de la xp_hello de la procédure stockée étendue est capturé dans l'historique du travail. Le résultat de l'instruction RAISERROR est tronqué. Lorsque vous passez en revue l'historique du travail, vous trouvez que le niveau de gravité des étapes 11.

Pour plus d'informations sur la différence de niveau de gravité des messages d'erreur, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
309802  (http://support.microsoft.com/kb/309802/ ) CORRIGER : Un appel à une instruction RAISERROR dans un lot d'instructions Transact-SQL peut provoquer un travail SQLAgent échoue et la perte de sortie dans SQL Server
903086  (http://support.microsoft.com/kb/903086/ ) CORRIGER : Le travail de lot arrête l'exécution et le travail est tronquée lorsque vous exécutez un script Transact-SQL comme un travail de l'Agent SQL Server dans SQL Server 2000
Pour plus d'informations sur les fichiers sont modifiés et pour plus d'informations sur les conditions requises pour appliquer le package de mise à jour cumulative qui contient le correctif décrit dans cet article de la Base de connaissances Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
953752  (http://support.microsoft.com/kb/953752/LN/ ) Package de mise à jour cumulative 9 pour SQL Server 2005 Service Pack 2

Références

Pour plus d'informations sur la liste des builds qui sont disponibles après SQL Server Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
937137  (http://support.microsoft.com/kb/937137/LN/ ) Versions de SQL Server 2005 publiées après SQL Server 2005 Service Pack 2
Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
935897  (http://support.microsoft.com/kb/935897/LN/ ) Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour proposer des correctifs pour les problèmes signalés
Pour plus d'informations sur l'obtention de SQL Server 2005 Service Pack 2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
913089  (http://support.microsoft.com/kb/913089/LN/ ) Comment faire pour obtenir le dernier service pack pour SQL Server 2005
Pour plus d'informations sur les nouvelles fonctionnalités et les améliorations dans SQL Server 2005 Service Pack 2, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://go.Microsoft.com/fwlink/ ?LinkId = 71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Pour plus d'informations sur le schéma d'appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
822499  (http://support.microsoft.com/kb/822499/LN/ ) Nouveau schéma d'affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684  (http://support.microsoft.com/kb/824684/ ) Description de la terminologie standard utilisée pour décrire les mises à jour du logiciel Microsoft

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • 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 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
Mots-clés : 
kbsql2005tool kbfix kbpubtypekc kbqfe kbexpertiseadvanced kbmt KB955695 KbMtfr
Traduction automatiqueTraduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 955695  (http://support.microsoft.com/kb/955695/en-us/ )
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.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store