Ich habe verschiedene Datenbanken, und was sicher sein wird, dass ich etwas entferne (eine Ansicht in diesem Fall), das wirklich verwaist ist. Ist das die richtige SQL zu verwenden:Alle Referenzen zur Ansicht finden
SELECT r.routine_name,
r.routine_definition
FROM INFORMATION_SCHEMA.ROUTINES r
WHERE r.routine_definition LIKE '%my_view_name%'
Das Problem damit ist, dass diese Referenzen sind Abholung keine Deklarationen in gespeicherten Prozeduren und ich weiß nicht, was sonst noch.
Ich fand die SO Question Ich erinnerte mich, aber es hilft auch nicht. Dies ist:
SELECT t.*
FROM SYSCOMMENTS t
WHERE CHARINDEX('my_view_name', t.text) > 0
... ist in der Nähe. Ich bekomme den Körper der gespeicherten Prozedur, von der ich weiß, dass sie die Ansicht verwendet, aber ich habe Schwierigkeiten, den Namen der tatsächlichen Prozedur zu erhalten.
Hilft "sp_depends" nicht. Ich nehme an, Sie müssten es auf jeder Datenbank ausführen. – AntDC