lundi 11 juillet 2011

Comment patcher un cluster SQL Server 2005 vs 2008

Lors de la mise à niveau d'un cluster SQL Server (installation de Service Pack, Cumulative Update,...) deux questions se posent, à savoir:
  • y a-t-il une interruption du service? 
  • par quel nœud commencer?
La méthode d'installation des patchs SQL Server n'est pas la même en fonction de la version : 2005 ou 2008.

Sur la version 2005 l'installation est réalisée en une seule fois. Le patch doit être installé sur le nœud actif et il est automatiquement installé sur le noeud passif, de cette manière l'instance SQL ne sera pas disponible durant l'installation du patch et donc il y a bien une interruption du service SQL.

Avec la version 2008, Microsoft a revu la façon dont le patch est déployé et cela dans une optique d'éviter l'interruption du service SQL. Ainsi nous devons installer le patch sur le noeud passif en premier et puis basculer la ressource cluster pour l'installer sur l'autre noeud, ce qui est transparent pour les utilisateurs.

jeudi 7 juillet 2011

[SSIS] : Convertir un tableau croisé dynamique en tableau à plat

Pour convertir un tableau à deux entrées, nous disposons en natif dans SSIS du composant Unpivot qui permet de transformer un tableau croisé dynamique (TCD) en tableau à plat, cela peut être utiles dans le cas où l'on veut exploiter les données d'un TCD pour les intégrer dans une base SQL.

Pour illustrer l'utilisation du composant UnPivot, je prend l'exemple d'un tableau à deux entrées avec les années en colonne et les mois en ligne et le CA dans la partie données:
Nous développons un package tout simple avec en source le TCD ci-dessus et le composant Unpivot:
La configuration du composant Unpivot consiste à:
  • Sélectionner l'élément à mettre en ligne (les années dans notre exemple)  et surtout ne pas sélectionner l’élément qui est déjà en ligne (les mois dans notre exemple).
  • Donner un nom d'entête de l'élément à mettre en ligne dans la partie "Pivot key value column name"
  • Spécifier la colonne de destination des données (CA dans notre exemple)
 Après exécution du package, et comme l'illustre la capture d'écran ci-dessous nous voyons bien que les années qui étaient en colonnes sont bien bien passées en lignes.