Objekt-Abhängigkeiten im MS SQL Server
Neben dem Durchsuchen von Objektdefinitionen kann man auch die Abhängigkeiten von Objekten untereinander selektieren, dazu dient das System-View sys.sql_dependencies.
Ich habe dazu eine Beispiel-Selektion erstellt, diese kann natürlich nach gezielt auf Objekttypen oder Namen gefiltert werden. Natürlich kann mit der einfachen Abfrage die Abhängigkeiten nicht rekursive ermittelt werden, aber es werden alle aufgeführt.
-- Objektabhängigkeiten ermitteln (ab SQL2005) SELECT OBJSCH.name + '.' + OBJ.name AS Obj_Name,
OBJ.type_desc AS Obj_Type,
SCHEMA_NAME(OBJPAR.schema_id) + '.' + OBJPAR.name AS Obj_Parent,
REFSCH.name + '.' + REF.name AS Ref_ObjectName, REF.type_desc AS Ref_ObjectType, REFCOL.name AS Ref_ColumnName, SCHEMA_NAME(REFPAR.schema_id) + '.' + REFPAR.name AS Ref_Parent,
DEP.class_desc AS ReferenceDescription, DEP.is_selected, DEP.is_select_all, DEP.is_updated FROM sys.sql_dependencies AS DEP
INNER JOIN sys.objects AS OBJ ON DEP.object_id = OBJ.object_id INNER JOIN sys.schemas AS OBJSCH ON OBJ.schema_id = OBJSCH.schema_id
LEFT JOIN sys.objects AS OBJPAR
ON OBJ.parent_object_id = OBJPAR.object_id INNER JOIN sys.objects AS REF ON DEP.referenced_major_id = REF.object_id LEFT JOIN sys.columns AS REFCOL ON DEP.referenced_major_id = REFCOL.object_id AND DEP.referenced_minor_id = REFCOL.column_id INNER JOIN sys.schemas AS REFSCH
ON REF.schema_id = REFSCH.schema_id LEFT JOIN sys.objects AS REFPAR
ON REF.parent_object_id = REFPAR.object_id ORDER BY OBJSCH.name, OBJ.name, OBJPAR.name,
REFSCH.name, REF.name, REFPAR.name, REFCOL.name
Werbung
Diesen Post teilen
Um über die neuesten Artikel informiert zu werden, abonnieren:
Kommentiere diesen Post