Applies ToSQL Server 2008 Service Pack 3 SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

Symptômes

Supposez que vous disposez d’une table qui contient une colonne d’objet volumineux (LOB) dans Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 ou SQL Server 2014. Lorsque vous mettez à jour la colonne LOB en utilisant une taille réduite de données métier et que vous essayez de récupérer l’espace inutilisé en utilisant les méthodes suivantes :

  • DBCC SHRINKDATABASE/DBCC SHRINKFILE

  • ALTER INDEX RÉORGANISER AVEC (LOB_COMPACTION = ACTIVÉ)

Dans ce cas, l’espace inutilisé ne peut pas être récupéré.

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Solution de contournement

Pour contourner ce problème, utilisez les solutions de contournement suivantes :

  • Exportez toutes les lignes dans un nouveau tableau et replacez les lignes. Cela réorganise les données métier et libère l’espace inutilisé.

  • Utilisez l’option DBCC SHRINKFILE avec EMPTYFILE option pour déplacer toutes les données dans un fichier de données que vous venez d’ajouter, puis supprimez les anciens fichiers de données. Cela réorganisationne les données métier en libérant l’espace inutilisé.

Informations supplémentaires

Dans l’exemple suivant, l’espace inutilisé est affiché à l’aide de la commande TSQL sp_spaceused’table_name' avant et après la mise à jour de la colonne LOB avec une plus petite taille de données métier : avant de procéder à la mise à jour :

nommer

lignes

réservé

data

index_size

inutilisées

table_name

1000

261072 KO

261056 KO

16 KO

0 KO

Après la mise à jour :

nommer

lignes

réservé

data

index_size

inutilisées

table_name

1000

261072 KO

199672 KO

16 KO

61384 Article

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.