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

Encontre em quais visualizações (se houver) um campo é usado (usando dependências?)


Para sua pergunta

pode-se usar a visão do sistema VIEW_COLUMN_USAGE em seu banco de dados. Eu criei esta visão
USE [ScratchPad]
GO
CREATE VIEW [dbo].[View_1]
AS
SELECT     second
FROM         dbo.deleteme
GO

Usando a consulta abaixo:
SELECT TOP 1000 [VIEW_CATALOG]
      ,[VIEW_SCHEMA]
      ,[VIEW_NAME]
      ,[TABLE_CATALOG]
      ,[TABLE_SCHEMA]
      ,[TABLE_NAME]
      ,[COLUMN_NAME]
  FROM [ScratchPad].[INFORMATION_SCHEMA].[VIEW_COLUMN_USAGE]

Recebi este resultado que inclui o nome da coluna e da tabela
## VIEW_CATALOG VIEW_SCHEMA VIEW_NAME   TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME  COLUMN_NAME
ScratchPad       dbo                      View_1     ScratchPad dbo          deleteme   second

Adicione uma cláusula WHERE à consulta e você deverá obter sua resposta.

Se você deseja ver as restrições, use a visualização "[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE]"

Meu sistema é MSSS 2K8, seu sistema 2K5 deve ter as mesmas visualizações do sistema