Julien Pinquié

ASP.NET, C#, SQL Server, Windows Live

June 2009 - Posts

Rechercher des tables et colonnes dans SQL Server

Aujourd’hui, j’ai dû mettre en place le suivi des modifications dans les tables d’une base de données SQL Server chez un client. La base de données fait plus de 140 tables, pour une quarantaine à suivre, et les champs sont déjà créés : l’astuce est donc de rechercher les tables auxquelles appartiennent les champs ModifiedOn ou ModifiedBy.

Je me suis basé sur les tables systèmes qui contiennent les objets de la base de données, par exemple :

  • sys.tables pour les tables,
  • syscolumns pour les colonnes,
  • sys.triggers pour les déclencheurs,
  • sys.default_constraints pour les contraintes, …

La requête ci-dessous devient évidente avec une jointure entre les tables sys.tables et syscolumns :

SELECT t.name FROM syscolumns AS c
INNER JOIN sys.tables AS t ON c.id = t.object_id
WHERE c.name = 'ModifiedOn'
ORDER BY t.name
Posted: Jun 19 2009, 05:46 PM by jpinquie | with no comments
Filed under: ,
More Posts