C'est le cas que dans la base de données que je vérifie, il y a une table d'archive qui conserve l'historique de l'utilisateur, et il y a une procédure de déclenchement ou de stockage qui, après un certain temps, supprime les lignes de cette table, afin d'éviter la surdimensionnement de la de même, je n'ai pas conçu la base de données, je prends juste la maintenance d'une application qui utilise cette base de données, donc je ne connais pas le nom de ces procédures stockées ou déclencheurs, ce que je veux faire, c'est localiser cette procédure stockée ou déclencher, vérifier le code et le modifier pour laisser cet "historique utilisateur" plus longtemps sur la table.
Quelqu'un m'a dit de vérifier la table "sysobjects", où je peux réellement voir quelque chose avec le même nom de la table, mais c'est la seule information que j'ai pu récupérer, un conseil?
Je vous remercie.
syscomments
plusieurs lignes pour un objet qui dépasse la limite de 4000 caractères, ce qui rend les requêtes l'utilisant tout aussi valides quesys.sql_modules
. Je recommande quand mêmesys.sql_modules
cependant car ilsyscomments
est déprécié.Essayez la recherche ApexSQL
ApexSQL Search est un complément gratuit de SQL Server Management Studio et Visual Studio qui, entre autres, dispose de la fonction Afficher les dépendances. La fonction Afficher les dépendances a la capacité de visualiser toutes les relations des objets de base de données SQL, y compris celles entre les objets cryptés et système, les objets spécifiques à SQL Server 2012 et les objets stockés dans des bases de données cryptées avec Transparent Data Encryption (TDE)
La fonction Afficher les dépendances vous permet également de configurer et de personnaliser la disposition du diagramme des dépendances visuelles, y compris les relations qui seront présentées, la disposition et la taille du diagramme généré, et la profondeur d'exploration des dépendances
Avertissement: je travaille pour ApexSQL en tant qu'ingénieur de support
la source
Pour référence future à partir de 2008, il existe également un DMV qui peut être utilisé.
sys.dm_sql_referencing_entities
. Je le préfère généralement à l'utilisation de SQL_Modules car cela évite entre autres les faux positifs. J'en ai discuté ici, mais fondamentalement, si vous avez un morceau de code comme celui-ci:Vous vous retrouverez avec des résultats pour la table ABC, la table ABCLog la vue vw_ABC, la procédure stockée sp_Update_ABC etc. Aussi, à ma connaissance, le DMV traitera les SP chiffrés ainsi que non chiffrés tandis que la méthode sql_modules ne fonctionne qu'avec des SP non chiffrés .
La version DMV de la même requête est la suivante:
la source
Vous pouvez également utiliser la vue de catalogue sys.sql_expression_dependencies . Utilisez cette requête:
la source