Partilhar via


sys.sql_modules (Transact-SQL)

Retorna uma linha para cada objeto que é um módulo definido em linguagem SQL. Objetos de tipo P, RF, V, TR, FN, IF, TF e R têm um módulo SQL associado. Padrões autônomos, objetos de tipo D, também têm uma definição de módulo SQL nessa exibição. Para obter uma descrição desses tipos, consulte a coluna tipo na exibição do catálogo sys.objects.

Nome da coluna

Tipo de dados

Descrição

object_id

int

ID do objeto contentor. É exclusivo em um banco de dados.

definition

nvarchar(max)

Texto SQL que define esse módulo.

NULL = Criptografado.

uses_ansi_nulls

bit

O módulo foi criado com SET ANSI_NULLS ON.

Sempre será = 0 para regras e padrões.

uses_quoted_identifier

bit

O módulo foi criado com SET QUOTED_IDENTIFIER ON.

is_schema_bound

bit

O módulo foi criado com a opção SCHEMABINDING.

uses_database_collation

bit

1 = A definição de módulo associada ao esquema depende do agrupamento padrão do banco de dados para avaliação correta. Caso contrário, 0. Tal dependência impede a alteração do agrupamento padrão do banco de dados.

is_recompiled

bit

O procedimento foi criado com a opção WITH RECOMPILE.

null_on_null_input

bit

O módulo foi declarado para produzir uma saída NULL em qualquer entrada NULL.

execute_as_principal_id

Int

A identificação do principal de banco de dados EXECUTE AS.

NULL por padrão ou se EXECUTE AS CALLER.

ID da entidade especificada, se EXECUTE AS SELF ou EXECUTE AS <principal>.

-2 = EXECUTE AS OWNER.

Comentários

A expressão SQL de uma restrição DEFAULT, objeto de tipo D, é encontrada na exibição de catálogo sys.default_constraints. A expressão SQL para uma restrição CHECK, objeto de tipo C, é encontrada na exibição do catálogo sys.check_constraints.

Essas informações também são descritas em sys.dm_db_uncontained_entities (Transact-SQL).

Permissões

A visibilidade dos metadados em exibições do catálogo está limitada aos protegíveis que pertencem a um usuário ou para os quais o usuário recebeu permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.

Exemplos

O exemplo a seguir retorna o nome, o tipo e a definição de cada módulo no banco de dados atual.

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

Consulte também

Referência

Exibições de catálogo (Transact-SQL)

Exibições do catálogo de objeto (Transact-SQL)

Conceitos

Consultando as perguntas frequentes do catálogo do sistema do SQL Server