sys.sql_modules (Transact-SQL)
Si applica a: SQL Server (tutte le versioni supportate)
database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Parallel Data Warehouse
Restituisce una riga per ogni oggetto che è un modulo SQL definito dal linguaggio in , inclusa SQL Serverla funzione scalare definita dall'utente compilata in modo nativo. Agli oggetti di tipo P, RF, V, TR, FN, IF, TF e R è associato un modulo SQL. In questa vista anche agli oggetti predefiniti autonomi, ovvero gli oggetti di tipo D, sono associati a una definizione di modulo SQL. Per una descrizione di questi tipi, vedere la type
colonna nella vista del catalogo sys.objects .
Per altre informazioni, vedere Funzioni scalari definite dall'utente per OLTP in memoria.
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
object_id | int | ID dell'oggetto contenitore. Valore univoco all'interno di un database. |
Definizione | nvarchar(max) | Testo SQL che definisce il modulo. Questo valore può essere ottenuto anche usando OBJECT_DEFINITION funzione incorporata. NULL = Crittografato. |
uses_ansi_nulls | bit | Modulo creato con SET ANSI_NULLS ON. È sempre = 0 per regole e impostazioni predefinite. |
uses_quoted_identifier | bit | Modulo creato con SET QUOTED_IDENTIFIER ON. |
is_schema_bound | bit | Modulo creato con l'opzione SCHEMABINDING. Contiene sempre il valore 1 per le stored procedure compilate in modo nativo. |
uses_database_collation | bit | 1 = La definizione del modulo associato a uno schema dipende dalle regole di confronto predefinite del database per una corretta valutazione; altrimenti, 0. Tale dipendenza impedisce la modifica delle regole di confronto predefinite del database. |
is_recompiled | bit | Procedura creata con l'opzione WITH RECOMPILE. |
null_on_null_input | bit | Il modulo è stato dichiarato per produrre un NULL output su qualsiasi NULL input. |
execute_as_principal_id | Int | ID dell'entità database EXECUTE AS.NULL per impostazione predefinita o se EXECUTE AS CALLER.ID dell'entità specificata se EXECUTE AS SELF o EXECUTE AS <principal>. -2 = EXECUTE AS OWNER. |
uses_native_compilation | bit | Si applica a: SQL Server 2014 (12.x) tramite SQL Server 2014 (12.x). 0 = non compilata in modo nativo 1 = compilata in modo nativo Il valore predefinito è 0. |
is_inlineable | bit | Si applica a: SQL Server 2019 (15.x) e versioni successive. Indica se il modulo è inlineable o meno. L'inlinebilità si basa sulle condizioni specificate qui. 0 = non inlineable 1 = è inlineable. Per le funzioni scalari definite dall'utente (UDF), il valore sarà 1 se la funzione definita dall'utente è inline e 0 in caso contrario. Contiene sempre il valore 1 per le funzioni con valori di tabella inline e 0 per tutti gli altri tipi di modulo. |
inline_type | bit | Si applica a: SQL Server 2019 (15.x) e versioni successive. Indica se l'inlining è attualmente attivato per il modulo. 0 = l'inlining è disattivato 1 = l'inlining è attivato. Per le funzioni definite dall'utente (UDF) scalari, il valore sarà 1 se l'inlining è attivato (in modo esplicito o implicito). Il valore sarà sempre 1 per le funzioni con valori di tabella inline e 0 per altri tipi di modulo. |
Commenti
L SQL'espressione per un vincolo DEFAULT, oggetto di tipo D, si trova nella vista sys.default_constraints catalogo. La SQL per un vincolo CHECK, oggetto di tipo C, si trova nella vista sys.check_constraints catalogo.
Queste informazioni sono descritte anche in sys.dm_db_uncontained_entities (Transact-SQL).
Autorizzazioni
La visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per le quali dispone di autorizzazioni. Per altre informazioni, vedere Metadata Visibility Configuration.
Esempio
Nell'esempio seguente vengono restituiti object_id, il nome dello schema, il nome dell'oggetto, il tipo di oggetto e la definizione di ogni modulo nel database corrente.
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];
Vedere anche
Viste del catalogo (Transact-SQL)
Viste del catalogo dell'oggetto (Transact-SQL)
Domande frequenti sull'esecuzione SQL Server catalogo di sistema
OLTP in memoria (ottimizzazione per la memoria)