mercredi 25 janvier 2012

[SQL] Récuperation du script de modification de tables

Un petit post rapide pour voir comment récupérer le script de modification d'une table (renommage de colonne, modification de type de données ou ajout de colonne...).
Pour cela, il faut ouvrir la table en mode création, faire la modification et puis cliquer sur la petite icône entourée en rouge :



Et le script généré par la modification s'affiche, cela peut être utile pour industrialiser les modifications de tables ou tout simplement connaître le comportement d'SQL Server suivant le type de modification (ALTER, DROP, SP_RENAME,...).


Par exemple, le fait de mettre un champs en IDENTITY passe obligatoirement par un DROP TABLE. 

[SQL] Dépendance entre tables et foreign Key

Voici une petite requête SQL pour récupérer la liste des tables référencées par des clés étrangères dans une table donnée:
 
SELECT tf.name AS 'Table_Principale',tp.name AS 'Table_Referencee', fk.name AS 'ForeignKey'
FROM sys.foreign_key_columns fkc
INNER JOIN sys.foreign_keys fk
      ON fkc.constraint_object_id = fk.object_id
INNER JOIN sys.tables tf
      ON tf.object_id = fkc.parent_object_id
INNER JOIN sys.tables tp
      ON tp.object_id = fkc.referenced_object_id
WHERE tf.name = 'NomDeLaTable'


Pour l'utiliser il suffit de remplacer dans la clause WHERE 'NomDeLaTable' par le nom de la table que vous voulez.

Cela peut être utile pour désactiver les contraintes d'intégrités ou tout simplement connaître les relations entre les tables.

vendredi 6 janvier 2012

[SQL 2012] : SQL Server Data Tools (ex Juneau)


SQL Server Data Tools (SSDT) est un nouvel outil de développement apporté par SQL Server 2012 dans l'optique d'unifier les outils de développement SQL et d'améliorer la productivité des développeurs.

Avec SSDT, vous développez une seule fois et vous pouvez déployer sur plusieurs plates-formes : SQL Server 2005/2008/2012 ou encore SQL Azure.

SSDT apporte plusieurs fonctionnalités digne d'un outil de développement et qui simplifie la vie aux développeurs, à savoir: