Eu uso o abaixo para obter uma lista de objetos subjacentes em uma exibição:
SELECT view_name, Table_Name
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name IN
(
'View1', 'View2'
)
ORDER BY view_name, table_name
Não consegui encontrar nenhuma tabela de sistema que fornecesse os objetos base em uma função. Alguém tem alguma ideia de como extrair facilmente essas informações? Estou lidando com muitas funções com vários objetos base de banco de dados e quero evitar o esforço manual para obter essas informações. Obrigado!
sp_depends fornecerá uma lista de objetos dependentes em todas as versões atuais do servidor SQL, mas está listado como obsoleto.
Aqui está um artigo do MSDN com uma maneira de encontrar objetos referenciando uma função e com pequenas modificações você pode obter a lista de objetos referenciados por uma função:
E como bônus: http://beyondrelational.com/modules/2/blogs/28/posts/10399/tsql-lab-9-how-to-find-the-dependency-chain-of-a-database-object .aspx
* Por favor leia *
Conforme observado na resposta do @Spörri acima,
sys.sql_dependencies
está obsoleto.sys.sql_dependencies (Transact-SQL) :
Observei entre 3 funções, um id de objeto functionas estava faltando na tabela obsoleta
sys.sql_dependencies
e, em vez disso, encontrei tudo nasys.sql_expression_dependencies
tabela. Portanto, use o abaixo para obter as dependências: