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