sys.sql_modules (Transact-SQL)
Restituisce una riga per ogni oggetto corrispondente a un modulo definito dal linguaggio SQL. 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.
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. |
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 <principal>. -2 = EXECUTE AS OWNER. |
Osservazioni
L'espressione SQL per un vincolo predefinito, ad esempio un oggetto di tipo D, si trova 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.
Autorizzazioni
In SQL Server 2005 e versioni successive la visibilità dei metadati nelle viste del catalogo è limitata alle entità a protezione diretta di cui l'utente è proprietario o per cui 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 AdventureWorks2008R2.
USE AdventureWorks2008R2;
GO
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