sql >> Base de Datos >  >> RDS >> Sqlserver

Encuentre en qué vistas (si las hay) se usa un campo (¿usando dependencias?)

Para su pregunta

uno podría usar la vista del sistema VIEW_COLUMN_USAGE en su base de datos. Creé esta vista

USE [ScratchPad]
GO
CREATE VIEW [dbo].[View_1]
AS
SELECT     second
FROM         dbo.deleteme
GO

Usando la siguiente consulta:

SELECT TOP 1000 [VIEW_CATALOG]
      ,[VIEW_SCHEMA]
      ,[VIEW_NAME]
      ,[TABLE_CATALOG]
      ,[TABLE_SCHEMA]
      ,[TABLE_NAME]
      ,[COLUMN_NAME]
  FROM [ScratchPad].[INFORMATION_SCHEMA].[VIEW_COLUMN_USAGE]

Recibí este resultado que incluye la columna y el nombre de la tabla

## VIEW_CATALOG VIEW_SCHEMA VIEW_NAME   TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME  COLUMN_NAME
ScratchPad       dbo                      View_1     ScratchPad dbo          deleteme   second

Agregue una cláusula WHERE a la consulta y debería obtener su respuesta.

Si desea ver las restricciones, use la vista "[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE]"

Mi sistema es MSSS 2K8, su sistema 2K5 debería tener las mismas vistas del sistema