Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Banco de Dados SQL do Azure
Instância Gerenciada SQL do Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
ponto de extremidade de análise SQL no Microsoft Fabric
Warehouse no Microsoft Fabric
Contém uma linha para cada objeto definido pelo utilizador e com âmbito de esquema criado dentro de uma base de dados, incluindo funções escalares compiladas nativamente pelo utilizador.
Para obter mais informações, consulte Funções User-Defined escalares para In-Memory OLTP.
Note
sys.objects não mostra gatilhos DDL, porque não têm âmbito esquemalógico. Todos os triggers, tanto DML como DDL, encontram-se nos sys.triggers.
sys.triggers Suporta uma mistura de regras de escopo de nomes para os vários tipos de gatilhos.
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
name |
sysname | Nome do objeto. |
object_id |
int | Número de identificação do objeto. É exclusivo dentro de um banco de dados. |
principal_id |
int | ID do proprietário individual, se diferente do proprietário do esquema. Por defeito, os objetos contidos no esquema pertencem ao proprietário do esquema. No entanto, pode ser especificado um proprietário alternativo usando a ALTER AUTHORIZATION declaração para mudar de propriedade.NULL Se não houver um proprietário individual alternativo.É NULL se o tipo de objeto for um dos seguintes valores:C = Restrição de verificaçãoD = Padrão (restrição ou independente)F = Restrição de chave estrangeiraPK = Restrição de chave primáriaR = Regra (estilo antigo, independente)TA = Gatilho de montagem (integração CLR)TR = gatilho SQLUQ = Restrição únicaEC = Restrição de arestas |
schema_id |
int | ID do esquema em que o objeto está contido. Os objetos do sistema com âmbito de esquema estão sempre contidos no sistema ou INFORMATION_SCHEMA esquemas. |
parent_object_id |
int | ID do objeto ao qual esse objeto pertence.0 = Não é um objeto filho. |
type |
char(2) | Tipo de objeto:AF = Função agregada (CLR)C = Restrição de verificaçãoD = Padrão (restrição ou independente)F = Restrição de chave estrangeiraFN = Função escalar SQLFS = Função escalar de montagem (CLR)FT = Função de tabela de montagem (CLR)IF = Função de tabela em linha SQL (TVF)IT = Tabela internaP = Procedimento armazenado SQLPC = Procedimento armazenado de montagem (CLR)PG = Guia de planosPK = Restrição de chave primáriaR = Regra (estilo antigo, independente)RF = Procedimento de filtro de replicaçãoS = Tabela base do sistemaSN = SinónimoSO = Objeto de sequênciaU = Tabela (definida pelo utilizador)V = VisualizaçãoAplica-se a: SQL Server 2012 (11.x) e versões posteriores SQ = Fila de serviçoTA = Gatilho DML Assembly (CLR)TF = Função com valor em tabela SQL (TVF)TR = Gatilho SQL DMLTT = Tipo de tabelaUQ = restrição únicaX = Procedimento armazenado estendidoAplica-se a: SQL Server 2014 (12.x) e versões posteriores, Base de Dados SQL do Azure, Azure Synapse Analytics, Analytics Platform System (PDW) ST = Árvore de estatísticasAplica-se a: SQL Server 2016 (13.x) e versões posteriores, Base de Dados SQL do Azure, Azure Synapse Analytics, Analytics Platform System (PDW) ET = Tabela externaAplica-se a: SQL Server 2017 (14.x) e versões posteriores, Base de Dados SQL do Azure, Azure Synapse Analytics, Analytics Platform System (PDW) EC = Restrição de arestas |
type_desc |
nvarchar(60) | Descrição do tipo de objeto:AGGREGATE_FUNCTIONCHECK_CONSTRAINTCLR_SCALAR_FUNCTIONCLR_STORED_PROCEDURECLR_TABLE_VALUED_FUNCTIONCLR_TRIGGERDEFAULT_CONSTRAINTEDGE_CONSTRAINTEXTENDED_STORED_PROCEDUREFOREIGN_KEY_CONSTRAINTINTERNAL_TABLEPLAN_GUIDEPRIMARY_KEY_CONSTRAINTREPLICATION_FILTER_PROCEDURERULESEQUENCE_OBJECTSERVICE_QUEUESQL_INLINE_TABLE_VALUED_FUNCTIONSQL_SCALAR_FUNCTIONSQL_STORED_PROCEDURESQL_TABLE_VALUED_FUNCTIONSQL_TRIGGERSYNONYMSYSTEM_TABLETYPE_TABLEUNIQUE_CONSTRAINTUSER_TABLEVIEW |
create_date |
datetime | Data em que o objeto foi criado. |
modify_date |
datetime | Data em que o objeto foi modificado pela última vez usando uma ALTER instrução. Se o objeto for uma tabela ou uma vista, modify_date também muda quando um índice na tabela ou vista é criado ou alterado. |
is_ms_shipped |
bit | O objeto é criado por um componente interno do SQL Server. |
is_published |
bit | O objeto é publicado. |
is_schema_published |
bit | Somente o esquema do objeto é publicado. |
Observações
Pode aplicar as funções incorporadas OBJECT_ID, OBJECT_NAME e OBJECTPROPERTY aos objetos mostrados em sys.objects.
Existe uma versão desta vista com o mesmo esquema, chamada sys.system_objects, que mostra objetos do sistema. Outra vista, chamada sys.all_objects, mostra tanto objetos do sistema como de utilizador. As três vistas de catálogo têm a mesma estrutura.
Nesta versão do SQL Server, um índice estendido, como um índice XML ou um índice espacial, é considerado uma tabela interna em sys.objects (type é IT, e type_desc é INTERNAL_TABLE). Para um índice alargado:
-
nameé o nome interno da tabela de índice -
parent_object_idé oobject_idda tabela base -
is_ms_shipped,is_published, eis_schema_publishedas colunas são definidas como0
Visões do sistema relacionadas
Subconjuntos dos objetos podem ser visualizados usando vistas de sistema para um tipo específico de objeto, tais como:
Permissions
A visibilidade dos metadados nas visualizações de catálogo é limitada aos itens de segurança que um utilizador possui ou nos quais o utilizador recebeu alguma permissão. Para obter mais informações, consulte Configuração de visibilidade de metadados.
Exemplos
A. Devolva todos os objetos que foram modificados nos últimos N dias
Antes de executar a consulta seguinte, substitua <database_name> e <n_days> por valores válidos.
USE <database_name>;
GO
SELECT name AS object_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE modify_date > GETDATE() - <n_days>
ORDER BY modify_date;
GO
B. Devolve os parâmetros para um procedimento ou função armazenado especificado
Antes de executar a consulta seguinte, substitua <database_name> e <schema_name.object_name> por nomes válidos.
USE <database_name>;
GO
SELECT SCHEMA_NAME(schema_id) AS schema_name,
o.name AS object_name,
o.type_desc,
p.parameter_id,
p.name AS parameter_name,
TYPE_NAME(p.user_type_id) AS parameter_type,
p.max_length,
p.precision,
p.scale,
p.is_output
FROM sys.objects AS o
INNER JOIN sys.parameters AS p
ON o.object_id = p.object_id
WHERE o.object_id = OBJECT_ID('<schema_name.object_name>')
ORDER BY schema_name,
object_name,
p.parameter_id;
GO
C. Devolver todas as funções definidas pelo utilizador numa base de dados
Antes de executar a consulta seguinte, substitua <database_name> por um nome válido da base de dados.
USE <database_name>;
GO
SELECT name AS function_name,
SCHEMA_NAME(schema_id) AS schema_name,
type_desc,
create_date,
modify_date
FROM sys.objects
WHERE type_desc LIKE '%FUNCTION%';
GO
D. Devolva o proprietário de cada objeto num esquema
Antes de executar a consulta seguinte, substitua todas as ocorrências de <database_name> e <schema_name> por nomes válidos.
USE <database_name>;
GO
SELECT 'OBJECT' AS entity_type,
USER_NAME(OBJECTPROPERTY(object_id, 'OwnerId')) AS owner_name,
name
FROM sys.objects
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'TYPE' AS entity_type,
USER_NAME(TYPEPROPERTY(SCHEMA_NAME(schema_id) + '.' + name, 'OwnerId')) AS owner_name,
name
FROM sys.types
WHERE SCHEMA_NAME(schema_id) = '<schema_name>'
UNION
SELECT 'XML SCHEMA COLLECTION' AS entity_type,
COALESCE(USER_NAME(xsc.principal_id), USER_NAME(s.principal_id)) AS owner_name,
xsc.name
FROM sys.xml_schema_collections AS xsc
INNER JOIN sys.schemas AS s
ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO