sys.sql_modules (Transact-SQL)
Restituisce una riga per ogni oggetto corrispondente a un modulo definito dal linguaggio SQL in SQL Server. 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 colonna type nella vista del catalogo sys.objects.
Si applica a: SQL Server (SQL Server 2008 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite versione corrente). |
Nome colonna |
Tipo di dati |
Descrizione |
|
---|---|---|---|
object_id |
int |
ID dell'oggetto contenitore. Valore univoco all'interno di un database. |
|
definition |
nvarchar(max) |
Testo SQL che definisce questo modulo. 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 |
Modulo dichiarato per restituire un output NULL per ogni input NULL. |
|
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 <entità>. -2 = EXECUTE AS OWNER. |
|
uses_native_compilation |
bit |
0 = non compilata in modo nativo 1 = compilata in modo nativo Il valore predefinito è 0.
|
Osservazioni
L'espressione SQL per un vincolo DEFAULT, ad esempio un oggetto di tipo D, è disponibile nella vista del catalogo sys.default_constraints. L'espressione SQL per un vincolo CHECK, ad esempio un oggetto di tipo C, si trova nella vista del catalogo sys.check_constraints.
Queste informazioni vengono 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 ulteriori informazioni, vedere Configurazione della visibilità dei metadati.
Esempi
Nell'esempio seguente vengono restituiti il nome, il tipo e la definizione di ogni modulo del database corrente.
SELECT sm.object_id, OBJECT_NAME(sm.object_id) 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
ORDER BY o.type;
GO
Vedere anche
Riferimento
Viste del catalogo (Transact-SQL)
Viste del catalogo per gli oggetti (Transact-SQL)
Concetti
Domande frequenti sull'esecuzione di query sul catalogo di sistema di SQL Server