Je souhaite rechercher une chaîne dans les noms des colonnes présentes dans une base de données.
Je travaille sur un projet de maintenance et certaines des bases de données avec lesquelles j'ai affaire ont plus de 150 tables, donc je cherche un moyen rapide de le faire.
Que recommandez-vous?
Vous pouvez utiliser la requête suivante pour répertorier toutes les colonnes ou rechercher des colonnes dans les tables d'une base de données.
USE AdventureWorks
GO
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%EmployeeID%'
ORDER BY schema_name, table_name;
Vous pouvez utiliser les vues information_schema pour répertorier tous les objets dans les bases de données SQL Server 2005 ou 2008.
SELECT * FROM information_schema.tables
SELECT * FROM information_schema.columns
http://blog.sqlauthority.com/2008/08/06/sql-server-query-to-find-column-from-all-tables-of-database/
Il existe également SQL Search - un outil gratuit qui s'intègre à SQL Server Management Studio.
Un en retard mais avec un peu de chance car les deux outils sont gratuits.
Recherche ApexSQL - une bonne chose à propos de cet outil est qu'il peut également rechercher des données, afficher les dépendances entre les objets et coupler d'autres choses utiles.
SSMS Toolpack - gratuit pour toutes les versions sauf SQL 2012. Un grand nombre d'options intéressantes qui ne sont pas uniquement liées à la recherche, telles que des extraits de code, diverses personnalisations et plus encore.
C'est celui que tous les SQL DBA de l'ancien temps utilisent.
EXEC sp_help 'your table name';
Si seulement avec une seule ligne, vous n'avez même pas besoin de taper EXEC. Fais juste
sp_help 'your table name'