Je fais pas mal de test sur les colonnes XML dans SQL SERVER (Post à venir d’ailleurs) et je viens de rencontrer une erreur assez improbable.

A force de supprimer puis rajouter des colonnes de type XML, j’ai eu au bout du compte une erreur m’indiquant en substance :

Cannot create a row of size 8063 which is greater than the allowable maximum of 8060.

Ok alors en fait non hein, j’ai que 2 colonnes dans ma table là oh !

Et bien la réponse est assez simple :

Voici une réponse de l’équipe MS là dessus:

This behaviour is expected. Dropping a column is a metadata-only change and can leave gaps in column-offsets on the row.
When new columns are added to such a table the space left by the dropped columns may or may not be reused for the new column; it depends on the size and type of the old/new columns.
Bottom-line is that if you drop/add columns enough times there will be a point at which the max-fixed-size of the row will be exceeded due to the "holes" left behind by the dropped columns
.”

Ok en gros on supprimer les métadatas de la colonne mais on ne récrit pas forcément toutes les pages (c’est pas bête)

A mieux les nouvelles données des futures nouvelles colonnes viendront écraser le contenu de l’ancienne colonne dans ma page de données.

Ou pas .. ce qui est mon cas, et particulièrement vrai dans une colonne XML.

La solution ?

Un bon vieux Rebuild Index

Voilà, j’arrête de m’arracher les cheveux et j’y retourne :)

Le feature pack de SQL SERVER 2008 R2 est sorti

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52

Comme toujours vous retrouvez un ensemble d’outil permettant d’étendre les possibilités de déploiement de SQL SERVER, ou encore des outils annexe en version Stand Alone

Pour vous donner une idée de ce que ça contient, voici une liste des principales features (tout du moins celle qui m’intéresse ces temps ci :) ) :

  • Microsoft® SQL Server Report Builder 3.0 for Microsoft® SQL Server 2008 R2
  • Microsoft® SQL Server® PowerPivot for Microsoft® Excel
  • Microsoft® SQL Server® 2008 R2 Reporting Services Add-in for Microsoft® SharePoint® Technologies 2010
  • Microsoft® SQL Server® 2008 R2 Policies
  • Microsoft® Sync Framework 2.0 Software Development Kit (SDK)
  • Microsoft® SQL Server® Compact 3.5 SP2
  • Microsoft® SQL Server® Compact 3.5 SP2 For Windows Mobile
  • Microsoft® SQL Server ®Compact 3.5 SP2 Server Tools
  • Microsoft® System CLR Types for SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008 R2 Remote Blob Store
  • Microsoft® SQL Server® 2008 R2 Command Line Utilities
  • Microsoft® Windows PowerShell Extensions for SQL Server® 2008 R2
  • Microsoft® SQL Server® 2008 R2 Shared Management Objects

Et encore d’autres …