sys.sql_modules (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt eine Zeile für jedes Objekt zurück, das ein sql-sprachdefiniertes Modul in SQL Server ist, einschließlich der nativ kompilierten skalaren benutzerdefinierten Funktion. Objekten des Typs P, RF, V, TR, FN, IF, TF und R ist ein SQL-Modul zugeordnet. Eigenständige Standardwerte, Objekte vom Typ D, weisen auch eine SQL-Moduldefinition in dieser Ansicht auf. Eine Beschreibung dieser Typen finden Sie in der type
-Spalte in der sys.objects-Katalogsicht.
Weitere Informationen dazu finden Sie unter Benutzerdefinierte Skalarfunktionen für In-Memory-OLTP.
Spaltenname | Datentyp | BESCHREIBUNG |
---|---|---|
object_id | int | Die Objekt-ID des enthaltenen Objekts. Ist innerhalb einer Datenbank eindeutig. |
definition | nvarchar(max) | Der SQL-Text, der dieses Modul definiert. Dieser Wert kann auch mithilfe der integrierten Funktion OBJECT_DEFINITION abgerufen werden. NULL = Verschlüsselt. |
uses_ansi_nulls | bit | Das Modul wurde mit SET ANSI_NULLS ON erstellt. Ist immer = 0 für Regeln und Standardwerte. |
uses_quoted_identifier | bit | Das Modul wurde mit SET QUOTED_IDENTIFIER ON erstellt. |
is_schema_bound | bit | Das Modul wurde mit der Option SCHEMABINDING erstellt. Enthält immer den Wert 1 für systemintern kompilierte gespeicherte Prozeduren. |
uses_database_collation | bit | 1 = Die richtige Auswertung der schemagebundenen Moduldefinition ist abhängig von der Standardsortierung der Datenbank; andernfalls ist der Wert 0. Durch diese Abhängigkeit wird verhindert, dass die Standardsortierung der Datenbank geändert wird. |
is_recompiled | bit | Die Prozedur wurde mit der Option WITH RECOMPILE erstellt. |
null_on_null_input | bit | Das Modul wurde so deklariert, dass auf eine NULL -Eingabe eine NULL -Ausgabe folgt. |
execute_as_principal_id | Int | Die ID des Datenbankprinzipals EXECUTE AS.NULL als Standardwert oder bei EXECUTE AS CALLER.ID des angegebenen Prinzipals bei EXECUTE AS SELF oder EXECUTE AS <Prinzipal>. -2 = EXECUTE AS OWNER. |
uses_native_compilation | bit | Gilt für: SQL Server 2014 (12.x) bis SQL Server 2014 R2 (12.x). 0 = nicht systemintern kompiliert 1 = systemintern kompiliert Der Standardwert ist 0. |
is_inlineable | bit | Gilt für: SQL Server 2019 (15.x) und höher. Gibt an, ob Inlining für das Modul möglich ist oder nicht. Die Möglichkeit zum Inlining beruht auf den hier angegebenen Bedingungen. 0 = Inlining nicht möglich 1 = Inlining möglich Bei benutzerdefinierten Skalarfunktionen (UDFs) lautet der Wert 1, wenn Inlining für die UDF möglich ist. Andernfalls lautet er 0. Die Funktion enthält immer den Wert 1 für Inline-Tabellenwertfunktionen (TVFs) und 0 für alle anderen Modultypen. |
inline_type | bit | Gilt für: SQL Server 2019 (15.x) und höher. Gibt an, ob das Inlining für das Modul derzeit aktiviert ist. 0 = Inlining ist deaktiviert 1 = Inlining ist aktiviert. Bei benutzerdefinierten Skalarfunktionen (UDFs) lautet der Wert 1, wenn das Inlining aktiviert ist (explizit oder implizit). Der Wert lautet für Inline-Tabellenwertfunktionen (TVFs) immer 1 und für andere Modultypen 0. |
Bemerkungen
Der SQL-Ausdruck für eine DEFAULT-Einschränkung, Objekt vom Typ D, ist in der sys.default_constraints-Katalogsicht enthalten. Der SQL-Ausdruck für eine CHECK-Einschränkung, Objekt vom Typ C, ist in der sys.check_constraints-Katalogsicht enthalten.
Diese Informationen werden auch unter sys.dm_db_uncontained_entities (Transact-SQL) beschrieben.
Durch das Umbenennen einer gespeicherten Prozedur, Funktion, Sicht oder eines Triggers wird der Name des entsprechenden Objekts in der definition-Spalte der sys.sql_modules
-Katalogsicht oder in der Definition, die über die integrierte Funktion OBJECT_DEFINITION zurückgegeben wird, nicht geändert. Daher sollte sp_rename
nicht zum Umbenennen dieser Objekttypen verwendet werden. Löschen Sie stattdessen das Objekt, und erstellen Sie es neu mit dem neuen Namen. Weitere Informationen finden Sie unter sp_rename (Transact-SQL).
Berechtigungen
Die Sichtbarkeit der Metadaten in Katalogsichten ist auf sicherungsfähige Elemente eingeschränkt, bei denen der Benutzer entweder der Besitzer ist oder für die dem Benutzer eine Berechtigung erteilt wurde. Weitere Informationen finden Sie unter Metadata Visibility Configuration.
Beispiele
Im folgenden Beispiel werden object_id, Schemaname, Objektname und die Definition der einzelnen Module in der aktuellen Datenbank zurückgegeben.
SELECT
sm.object_id
, ss.[name] as [schema]
, o.[name] as object_name
, o.[type]
, o.[type_desc]
, sm.[definition]
FROM sys.sql_modules AS sm
JOIN sys.objects AS o
ON sm.object_id = o.object_id
JOIN sys.schemas AS ss
ON o.schema_id = ss.schema_id
ORDER BY
o.[type]
, ss.[name]
, o.[name];
Weitere Informationen
Katalogsichten (Transact-SQL)
Katalogsichten für Objekte (Transact-SQL)
FAQ: Abfragen des SQL Server-Systemkatalogs
In-Memory OLTP (In-Memory Optimization)