comment trouver où une procédure stockée est utilisée
À l'aide de SQL Server 2000, il est un moyen de recherche d'un motif à l'échelle mondiale dans toutes les procédures de déclenchement?
Où une procédure stockée est appelée à se cacher de moi.
Ceci est mon premier post alors soyez gentils.
Ce type de modèle, veuillez inclure un exemple.
dire
parce que l'OP peut s'attendre à un plus vaste correspondant à un modèle comme ceux nécessitant un "regex" comme définition.
dans le titre il me sembla qu'il n'est qu'un simple nom de la procédure stockée.
bien sûr, j'ai trouvé, il est généralement utile pour l'OP, pour donner un exemple, pour éviter de passer du temps sur une réponse qui n'a pas vraiment d'aborder la vraie question, mais YMMV.
dire
LIKE '%foobar%'
- pourquoi ne l'explicite patron de la matière?parce que l'OP peut s'attendre à un plus vaste correspondant à un modèle comme ceux nécessitant un "regex" comme définition.
dans le titre il me sembla qu'il n'est qu'un simple nom de la procédure stockée.
bien sûr, j'ai trouvé, il est généralement utile pour l'OP, pour donner un exemple, pour éviter de passer du temps sur une réponse qui n'a pas vraiment d'aborder la vraie question, mais YMMV.
OriginalL'auteur user2141302 | 2013-03-22
Vous devez vous connecter pour publier un commentaire.
Cela va chercher les triggers, les procédures, les fonctions et les vues sur SQL Server 2000 (recommandé à l'égard de cette approche sur des versions plus récentes; voir ce billet de blog pour une bien meilleure façon):
De quelque danger, ici, bien sûr:
syscomments
prendra procédures > 4000 lignes et de les diviser en plusieurs lignes. Donc, il ya une petite chance qu'un grand procédure peut seulement parler de votre chaîne de recherche sur un point limite, et pas à tous. Il ya aussi une chance qu'une telle procédure pourrait s'afficher dans la liste deux fois (vous pouvez ajouter unGROUP BY
pour l'éliminer).GetAuthorSubscriptions
et vous êtes à la recherche pour%GetAuthors%
, elle sera affichée. À l'aide d'une recherche sensible à la casse avec unCOLLATE
clause peut aider, mais pas nécessairement de les éliminer.Plus d'informations ici:
http://databases.aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html
Je recommande fortement de se déplacer hors de SQL Server 2000. Si ce n'est pour les 8 milliards d'autres avantages, cette tâche est beaucoup plus facile dans des versions plus modernes.
Noter que votre procédure stockée peut être appelée à partir de la base de données, il pourrait être un appel ad-hoc à partir d'une application, quelqu'un ouvrir la copie de Gestion de Studio, ou même un emploi. Pour des travaux de recherche que vous pouvez utiliser:
N'a toujours pas tourné? Exécuter côté serveur trace de filtrage sur
TextData LIKE '%procedurename%'
...OriginalL'auteur Aaron Bertrand
À l'aide de SQL Server 2017 à l'Aide de SQL Server Management Studio
Pour afficher les dépendances d'une procédure dans l'Explorateur d'Objets
À l'aide de Transact-SQL
vous pouvez suivre les étapes ici
pour plus d'informations, consultez l'article original à l'
https://docs.microsoft.com/en-us/sql/relational-databases/stored-procedures/view-the-dependencies-of-a-stored-procedure?view=sql-server-2017
OriginalL'auteur George Botros
Voici une procédure que j'ai écrit qui devient la source dans les tables système, et la met dans un tableau ligne par ligne. Ce sera plus facile à analyser un texte et répondre à des chaînes de caractères qui peuvent être coupés dans les tables système, en raison de l'habillage du texte. si vous exécutez ce quotidien ou horaire etc, il vous donnera de près les résultats en temps réel.
Vous pouvez numériser la v$table source pour obtenir une liste distincte de la procédure de noms, mais la pensée serait utile de mettre ensemble la solution ici.
S'il y a des bugs laissez-moi savoir, car Elle n'a pas été testé de manière exhaustive.
OriginalL'auteur Ab Bennett