Dans SQL Server Management Studio, puis-je rechercher des actifs dans plusieurs bases de données?

StackOverflow https://stackoverflow.com/questions/149054

  •  02-07-2019
  •  | 
  •  

Question

Mon IDE quotidien est Eclipse, qui possède une fonctionnalité Open Resource (CTRL + SHIFT + R ou Naviguer > Ouvrir une ressource) qui permet à l'utilisateur de rechercher des fichiers / ressources sur plusieurs projets.

Je ne trouve pas de fonctionnalité similaire dans SQL Server Management Studio, existe-t-il une?

Était-ce utile?

La solution

Vous pouvez rechercher des objets dans une base de données SQL à l'aide de la vue Schéma d'information. http://msdn.microsoft.com/en-us/library/ms186778. aspx Il y en a un pour les tables, les colonnes, les fonctions, les sprocs, etc.

sélectionnez * parmi INFORMATION_SCHEMA.routines où ROUTINE_DEFINITION ressemble à '% xp% _'

Autres conseils

Non. SMS ne contient aucun mécanisme permettant d'effectuer des recherches sur plusieurs projets.

Vous pouvez utiliser sp_MSforeachdb comme suit:

sp_MSforeachdb 'SELECT * FROM ?.INFORMATION_SCHEMA.routines WHERE ROUTINE_TYPE = ''PROCEDURE'''

Ce qui précède sélectionnera toutes les procédures de toutes les bases de données et les retournera dans des ensembles de résultats différents. En utilisant différentes vues, vous pouvez également sélectionner des tables, des colonnes, etc.

.

J'espère que quelqu'un a une meilleure réponse à cette question que moi. Dans le passé, j’utilisais un CURSEUR pour parcourir toutes les bases de données et insérer les résultats dans une table temporaire. Je pourrais alors choisir dans la table temporaire et montrer les résultats.

Je n'ai plus ce code en main. Si personne ne trouve une meilleure réponse, je reviendrai et l'éditerai avec du vrai code. Je penserais qu'il y aurait un DMV pour ceci. Quelqu'un?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top