Sem dúvida, isso é sintaxe ou erro de digitação... mas quando consulto sys.dm_sql_referencing_entities para uma tabela pai, obtenho zero resultados. Nenhum erro, apenas nenhum resultado.
USE [source];
GO
SELECT *
FROM sys.dm_sql_referencing_entities ('[Test].[USERS]', 'OBJECT');
GO
Quando vejo as dependências do SSMS, recebo
Eu nunca usei isso antes, então talvez eu esteja entendendo mal como isso funciona ou o que deveria estar retornando? Também tentei na tabela SUBSCRIPTIONS, mesmo resultado... nada.
As funções de entidade referenciadas/referenciadas retornam instâncias onde um objeto, coluna etc. é referenciado diretamente (geralmente em outros objetos como procedimentos armazenados, mas Mark tem a lista completa da documentação ).
Essas funções não se destinam a analisar dependências de chaves estrangeiras, que você pode obter nas exibições do catálogo de chaves estrangeiras. Esta consulta simples assume que todas as tabelas estão no
dbo
esquema, mas você precisaria adicionar junções parasys.schemas
aprimorá-las de outra forma:A consulta em sua pergunta retornará resultados se você criar um objeto que faça referência à tabela, por exemplo:
De acordo com BOL :
Relacionamentos de chave estrangeira não apareceriam neste DMV.