Tengo varias bases de datos y estoy seguro de que estoy eliminando algo (una vista en este caso) que está realmente huérfano. Es el SQL correcto a utilizar:Buscar todas las referencias para ver
SELECT r.routine_name,
r.routine_definition
FROM INFORMATION_SCHEMA.ROUTINES r
WHERE r.routine_definition LIKE '%my_view_name%'
El problema con esto es que estas referencias no están recogiendo declaraciones en los procedimientos almacenados, y no sé qué más.
Encontré el SO Question que recordaba, pero tampoco está ayudando. Este:
SELECT t.*
FROM SYSCOMMENTS t
WHERE CHARINDEX('my_view_name', t.text) > 0
... está cerca. Obtengo el cuerpo del procedimiento almacenado que sé que está usando la vista, pero estoy teniendo problemas para obtener el nombre real del procedimiento.
¿No es útil "sp_depends"? Supongo que tendrías que ejecutarlo en cada base de datos. – AntDC