Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Lista de tabelas usadas em todos os procedimentos armazenados com o nome do esquema do SP


Tente esta consulta:
SELECT * 
FROM INFORMATION_SCHEMA.ROUTINES

Isso retornará todos os procedimentos armazenados no banco de dados atual e também o esquema associado a ele.

Se você deseja obter as tabelas e o procedimento armazenado relacionado, tente algo assim:
SELECT t.TABLE_NAME, s.ROUTINE_NAME,s.SPECIFIC_SCHEMA
FROM INFORMATION_SCHEMA.TABLES t
INNER JOIN INFORMATION_SCHEMA.ROUTINES s 
ON s.ROUTINE_NAME IN 
(
        SELECT referencing_entity_name 
        FROM sys.dm_sql_referencing_entities(TABLE_SCHEMA + '.' + TABLE_NAME, 'OBJECT')
)
AND s.ROUTINE_TYPE = 'PROCEDURE'
WHERE t.TABLE_TYPE = 'BASE TABLE'

Fique longe das visualizações sysobject etc