Auflisten der zugrunde liegenden Objekte, die in einer SQL Server-Funktion verwendet werden

dba.stackexchange https://dba.stackexchange.com/questions/101568

  •  26-09-2020
  •  | 
  •  

Frage

Ich benutze das Folgende, um eine Liste der zugrunde liegenden Objekte in einer Ansicht zu erhalten:

SELECT view_name, Table_Name
FROM INFORMATION_SCHEMA.VIEW_TABLE_USAGE
WHERE View_Name IN 
    (
      'View1', 'View2'
    )
ORDER BY view_name, table_name

Ich konnte keine Systemtabelle finden, die die Basisobjekte in einer Funktion bereitstellte.Hat jemand eine Idee, wie man diese Informationen einfach abruft?Ich beschäftige mich mit vielen Funktionen mit mehreren Basis-DB-Objekten und möchte manuellen Aufwand vermeiden, um diese Informationen zu erhalten.Danke!

War es hilfreich?

Lösung

sp_depends gibt Ihnen die Liste der abhängigen Objekte in allen aktuellen Versionenvon SQL Server, ist jedoch als veraltet aufgeführt.

Hier ist ein MSDN-Artikel mit einer Möglichkeit, Objekte referenzieren zu findenEine Funktion und mit kleinen Änderungen können Sie die Liste des Objekts erhalten, auf das von einer Funktion referenziert wird:

generasacodicetagpre.

und als Bonus: http://beyondrelational.com/modules/2/blogs/28/posts/10399/sql-lab-9-how-to-find-the)-Dependenzkette-of-a-datact-object.aspx

Andere Tipps

* Bitte lesen *

Wie in @Spörri Antwort oben erwähnt, sys.sql_dependencies ist veraltet.


system.SQL-Abhängigkeiten (Transact-SQL) :

Diese Funktion wird in einer zukünftigen Version von Microsoft SQL entfernt Server.Vermeiden Sie die Verwendung dieser Funktion in neuen Entwicklungsarbeiten und planen Sie Folgendes ändern Sie Anwendungen, die diese Funktion derzeit verwenden.Verwenden system.stattdessen sql_expression_dependencies.


Ich habe unter 3 Funktionen festgestellt, dass eine Funktion als Objekt-ID in der veralteten Tabelle fehlte sys.sql_dependencies, und ich fand alles in der sys.sql_expression_dependencies tisch statt.Verwenden Sie also das Folgende, um die Abhängigkeiten zu erhalten:

select * 
from sys.sql_expression_dependencies
where referencing_id =  object_id('schema.object_name') 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top