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 a 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 |
ID da entidade do 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 para uma restrição DEFAULT, objeto de tipo D, é encontrada na exibição do 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.
Permissões
No SQL Server 2005 e em versões posteriores, a visibilidade de metadados em exibições do catálogo é limitada a protegíveis que um usuário possui ou para os quais recebeu alguma 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 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
Consulte também