Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

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

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
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.
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 TESTGOUSE TestGOCREATE TABLE REPRO(i int primary key nonclustered, a int)GOCREATE NONCLUSTERED INDEX NONCLUSTERED_REPRO ON REPRO(a)GOEXEC 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
SQL2008RelNoteDatabaseEngine

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 956031 - Dernière mise à jour : 04/08/2009 00:07:05 - Révision : 3.0

Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard

  • kbmt sql2008relnotedatabaseengine sql2008relnote kbbug kbqfe kbfix kbexpertiseadvanced kbprb KB956031 KbMtfr
Commentaires