CORRECTIF : message d'erreur lorsque vous estimez la compression sur une table dans SQL Server 2008: « sous-requête renvoyé plus de 1 valeur »

Traductions disponibles Traductions disponibles
Numéro d'article: 956031 - Voir les produits auxquels s'applique cet article
Bogue #: 50003626 (correctifs SQL)
Microsoft distribue les correctifs Microsoft SQL Server 2008 le biais comme un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2008 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous utilisez la procédure sp_estimate_data_compression_savings stocké sur une table qui dispose d'une clé primaire non mis en cluster et un ou plusieurs index non cluster dans Microsoft SQL Server 2008, les message d'erreur suivant peut s'afficher :
Msg 512, Niveau 16, État 1, procédure sp_estimate_data_compression_savings, ligne 251
Sous-requête a renvoyé plus de 1 valeur. Ce n'est pas autorisé lors de la sous-requête suit =,! =, <, < =, >, > = ou lorsque la sous-requête est utilisée comme une expression.
Bien que vous recevez ce message d'erreur, le résultat est retourné. Toutefois, les estimations de compression pour des index non cluster sont incorrectes.

Ce problème se produit si un index organisé en clusters existe ou non.

Résolution

Informations sur le service pack

Pour résoudre ce problème, procurez-vous le dernier service pack pour SQL Server 2008. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
968382 Comment obtenir le dernier pack service pour SQL Server 2008

Informations de mise à jour cumulative

Le correctif de ce problème a été tout d'abord publié en mise à jour cumulatif 2. Pour plus d'informations sur la façon d'obtenir ce package de mise à jour cumulative pour SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
958186 Package de cumulative mise à jour 2 pour SQL Server 2008
note Les versions étant cumulatifs, chaque nouvelle version de correctif contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec la précédente SQL Server 2008 version du correctif. Nous vous recommandons de prendre en compte Application de la version de correctif plus récente 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 :
956909 SQL Server 2008 versions publiées après le lancement de SQL Server 2008

Contournement

Pour contourner ce problème, spécifiez le @index_id paramètre lorsque vous exécutez le sp_estimate_data_compression_savings une procédure stockée. Vous devez exécuter la procédure stockée à une seule fois pour chaque index pour lequel vous souhaitez évaluer.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ». Ce problème a été corrigé dans SQL Server 2008 Service Pack 1.

Plus d'informations

La procédure sp_estimate_data_compression_savings stockée est utilisée pour renvoyer la taille actuelle des tables. La procédure sp_estimate_data_compression_savings stockées calcule également la taille de tableau de l'état demandé compression.

Procédure pour reproduire le problème

  1. Lancez SQL Server Management Studio et connectez à une instance de SQL Server 2008.
  2. Créer une nouvelle requête, puis exécutez les instructions suivantes.
    CREATE DATABASE TEST
    GO
    USE Test
    GO
    
    CREATE TABLE REPRO(i int primary key nonclustered, a int)
    GO
    
    CREATE NONCLUSTERED INDEX NONCLUSTERED_REPRO ON REPRO(a)
    GO
    
    EXEC SP_ESTIMATE_DATA_COMPRESSION_SAVINGS @schema_name = 'dbo', @object_name = 'repro', @index_id = NULL, @partition_number = NULL, @data_compression = 'PAGE'
    
Pour plus d'informations sur les fichiers sont modifiés et pour des informations sur les conditions préalables pour appliquer le package de mise à jour cumulative qui contient le correctif qui est 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 :
958186 Package de cumulative mise à jour 2 pour SQL Server 2008

Références

Pour plus d'informations sur la liste des builds sont disponibles après la version de SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
956909 SQL Server 2008 versions publiées après le lancement de SQL Server 2008
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 Un modèle de service incrémentielle est disponible auprès de l'équipe SQL Server pour fournir des correctifs pour les problèmes signalés
Pour plus d'informations sur le schéma d'appellation des mises à jour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
822499 Nouveau modèle d'affectation de noms pour les packages de correctifs logiciels Microsoft SQL Server
Pour plus d'informations sur la terminologie mise à jour logicielles, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 956031 - Dernière mise à jour: mercredi 8 avril 2009 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
Mots-clés : 
kbmt sql2008relnotedatabaseengine sql2008relnote kbbug kbqfe kbfix kbexpertiseadvanced kbprb KB956031 KbMtfr
Traduction 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: 956031
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