sys.objects (Transact-SQL)sys.objects (Transact-SQL)

ESTE TÓPICO APLICA-SE A: simSQL Server (a partir de 2008)simBanco de Dados SQL do Microsoft AzuresimAzure SQL Data Warehouse simParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Contém uma linha para cada objeto definido pelo usuário, o escopo de esquema que é criado em um banco de dados, incluindo nativamente função escalar definida pelo usuário.Contains a row for each user-defined, schema-scoped object that is created within a database, including natively compiled scalar user-defined function.

Para obter mais informações, consulte Funções escalares definidas pelo usuário para OLTP in-memory.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Observação

sys.objects não mostra gatilhos DDL, porque eles não estão no escopo do esquema.sys.objects does not show DDL triggers, because they are not schema-scoped. Todos os gatilhos, DML e DDL, estão localizados em Triggers.All triggers, both DML and DDL, are found in sys.triggers. sys. Triggers dá suporte a uma mistura de regras de escopo de nome para os vários tipos de gatilhos.sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

Nome da colunaColumn name Tipo de dadosData type DescriptionDescription
nomename sysnamesysname Nome do objeto.Object name.
object_idobject_id Intint Número de identificação do objeto.Object identification number. É exclusivo em um banco de dados.Is unique within a database.
principal_idprincipal_id Intint ID do proprietário individual, se for diferente do proprietário do esquema.ID of the individual owner, if different from the schema owner. Por padrão, os objetos contidos no esquema pertencem ao proprietário do esquema.By default, schema-contained objects are owned by the schema owner. No entanto, um proprietário alternativo pode ser especificado usando a instrução ALTER AUTHORIZATION para alterar a propriedade.However, an alternate owner can be specified by using the ALTER AUTHORIZATION statement to change ownership.

Será NULL se não houver nenhum proprietário individual alternativo.Is NULL if there is no alternate individual owner.

Será NULL se o tipo de objeto for um dos seguintes:Is NULL if the object type is one of the following:

C = Restrição CHECKC = CHECK constraint

D = DEFAULT (restrição ou autônomo)D = DEFAULT (constraint or stand-alone)

F = Restrição FOREIGN KEYF = FOREIGN KEY constraint

PK = Restrição PRIMARY KEYPK = PRIMARY KEY constraint

R = Regra (estilo antigo, autônomo)R = Rule (old-style, stand-alone)

TA = Gatilho de assembly (integração CLR)TA = Assembly (CLR-integration) trigger

TR = Gatilho SQLTR = SQL trigger

UQ = Restrição UNIQUEUQ = UNIQUE constraint
schema_idschema_id Intint ID do esquema em que o objeto está contido.ID of the schema that the object is contained in.

Os objetos do sistema de escopo de esquema estão sempre contidos nos esquemas sys ou INFORMATION_SCHEMA.Schema-scoped system objects are always contained in the sys or INFORMATION_SCHEMA schemas.
parent_object_idparent_object_id Intint ID do objeto ao qual este objeto pertence.ID of the object to which this object belongs.

0 = Não é um objeto filho.0 = Not a child object.
Tipotype char(2)char(2) Tipo de objeto:Object type:

AF = Função de agregação (CLR)AF = Aggregate function (CLR)

C = Restrição CHECKC = CHECK constraint

D = DEFAULT (restrição ou autônomo)D = DEFAULT (constraint or stand-alone)

F = Restrição FOREIGN KEYF = FOREIGN KEY constraint

FN = Função escalar SQLFN = SQL scalar function

FS = Função escalar de assembly (CLR)FS = Assembly (CLR) scalar-function

FT = Função avaliada por tabela de assembly (CLR)FT = Assembly (CLR) table-valued function

IF = Função SQL com valor de tabela embutidaIF = SQL inline table-valued function

IT = tabela internaIT = Internal table

P = Procedimento armazenado SQLP = SQL Stored Procedure

PC = procedimento armazenado de Assembly (CLR)PC = Assembly (CLR) stored-procedure

PG = Guia de planoPG = Plan guide

PK = Restrição PRIMARY KEYPK = PRIMARY KEY constraint

R = Regra (estilo antigo, autônomo)R = Rule (old-style, stand-alone)

RF = Procedimento de filtro de replicaçãoRF = Replication-filter-procedure

S = Tabela base do sistemaS = System base table

SN = SinônimoSN = Synonym

SO = Objeto de sequênciaSO = Sequence object

U = Tabela (definida pelo usuário)U = Table (user-defined)

V = ExibiçãoV = View



Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.



SQ = Fila de serviçoSQ = Service queue

TA = Gatilho DML de assembly (CLR)TA = Assembly (CLR) DML trigger

TF = Função com valor de tabela SQLTF = SQL table-valued-function

TR = Gatilho DML de SQLTR = SQL DML trigger

TT = Tipo de tabelaTT = Table type

UQ = Restrição UNIQUEUQ = UNIQUE constraint

X = Procedimento armazenado estendidoX = Extended stored procedure



Aplica-se a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) por meio de SQL Server 2017SQL Server 2017, Banco de dados SQL do AzureAzure SQL Database, Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Banco de dados SQL do AzureAzure SQL Database, Azure SQL Data WarehouseAzure SQL Data Warehouse, Parallel Data WarehouseParallel Data Warehouse.



ET = tabela externaET = External Table
type_desctype_desc nvarchar(60)nvarchar(60) Descrição do tipo de objeto:Description of the object type:

AGGREGATE_FUNCTIONAGGREGATE_FUNCTION

CHECK_CONSTRAINTCHECK_CONSTRAINT

CLR_SCALAR_FUNCTIONCLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURECLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTIONCLR_TABLE_VALUED_FUNCTION

CLR_TRIGGERCLR_TRIGGER

DEFAULT_CONSTRAINTDEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDUREEXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINTFOREIGN_KEY_CONSTRAINT

INTERNAL_TABLEINTERNAL_TABLE

PLAN_GUIDEPLAN_GUIDE

PRIMARY_KEY_CONSTRAINTPRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDUREREPLICATION_FILTER_PROCEDURE

RULERULE

SEQUENCE_OBJECTSEQUENCE_OBJECT



Aplica-se a: do SQL Server 2012 (11.x)SQL Server 2012 (11.x) ao SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.



SERVICE_QUEUESERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTIONSQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTIONSQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURESQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTIONSQL_TABLE_VALUED_FUNCTION

SQL_TRIGGERSQL_TRIGGER

SYNONYMSYNONYM

SYSTEM_TABLESYSTEM_TABLE

TABLE_TYPETABLE_TYPE

UNIQUE_CONSTRAINTUNIQUE_CONSTRAINT

USER_TABLEUSER_TABLE

VIEWVIEW
create_datecreate_date datetimedatetime A data em que o objeto foi criado.Date the object was created.
modify_datemodify_date datetimedatetime A data em que o objeto foi modificado pela última vez com uma instrução ALTER.Date the object was last modified by using an ALTER statement. Se o objeto for uma tabela ou uma exibição, modify_date também será alterado quando um índice clusterizado na tabela ou na exibição for criado ou alterado.If the object is a table or a view, modify_date also changes when a clustered index on the table or view is created or altered.
is_ms_shippedis_ms_shipped bitbit O objeto é criado por um componente interno do SQL ServerSQL Server.Object is created by an internal SQL ServerSQL Server component.
is_publishedis_published bitbit O objeto é publicado.Object is published.
is_schema_publishedis_schema_published bitbit Apenas o esquema do objeto é publicado.Only the schema of the object is published.

RemarksRemarks

Você pode aplicar o OBJECT_ID, OBJECT_NAME, e OBJECTPROPERTY() funções internas para os objetos mostrados em sys. Objects.You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

Há uma versão desta exibição com o mesmo esquema, chamado system_objects, que mostra os objetos do sistema.There is a version of this view with the same schema, called sys.system_objects, that shows system objects. Há outra exibição denominada all_objects que mostra os objetos de sistema e usuário.There is another view called sys.all_objects that shows both system and user objects. Todas as três exibições do catálogo têm a mesma estrutura.All three catalog views have the same structure.

Nesta versão do SQL ServerSQL Server, um índice estendido, como um índice XML ou índice espacial, é considerado uma tabela interna em sys.objects (type = IT and type_desc = INTERNAL_TABLE).In this version of SQL ServerSQL Server, an extended index, such as an XML index or spatial index, is considered an internal table in sys.objects (type = IT and type_desc = INTERNAL_TABLE). Para um índice estendido:For an extended index:

  • name é o nome interno da tabela de índice.name is the internal name of the index table.

  • parent_object_id é o object_id da tabela base.parent_object_id is the object_id of the base table.

  • As colunas is_ms_shipped, is_published e is_schema_published são definidas como 0.is_ms_shipped, is_published and is_schema_published columns are set to 0.

Exibições do sistema úteis relacionadosRelated useful system views
Os subconjuntos de objetos podem ser exibidos usando exibições do sistema para um tipo específico de objeto, como:Subsets of the objects can be viewed by using system views for a specific type of object, such as:

PermissõesPermissions

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.The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. Para obter mais informações, consulte Metadata Visibility Configuration. For more information, see Metadata Visibility Configuration.

ExemplosExamples

A.A. Retornando todos os objetos que foram modificados nos últimos N diasReturning all the objects that have been modified in the last N days

Antes de executar a consulta a seguir, substitua <database_name> e <n_days> por valores válidos.Before you run the following query, replace <database_name> and <n_days> with valid values.

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.B. Retornando os parâmetros para uma função ou procedimento armazenado especificadoReturning the parameters for a specified stored procedure or function

Antes de executar a consulta a seguir, substitua <database_name> e <schema_name.object_name> por nomes válidos.Before you run the following query, replace <database_name> and <schema_name.object_name> with valid names.

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.C. Retornando todas as funções definidas pelo usuário em um banco de dadosReturning all the user-defined functions in a database

Antes de executar a consulta a seguir, substitua <database_name> pelo nome de um banco de dados válido.Before you run the following query, replace <database_name> with a valid database name.

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.D. Retornando o proprietário de cada objeto em um esquema.Returning the owner of each object in a schema.

Antes de executar a consulta a seguir, substitua todas as ocorrências de <database_name> e <schema_name> por nomes válidos.Before you run the following query, replace all occurrences of <database_name> and <schema_name> with valid names.

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 JOIN sys.schemas AS s  
    ON s.schema_id = xsc.schema_id  
WHERE s.name = '<schema_name>';  
GO  

Consulte tambémSee Also

Exibições de catálogo (Transact-SQL) Catalog Views (Transact-SQL)
all_objects (Transact-SQL) sys.all_objects (Transact-SQL)
sys.system_objects (Transact-SQL) sys.system_objects (Transact-SQL)
sys.triggers (Transact-SQL) sys.triggers (Transact-SQL)
Exibições de catálogo de objeto(Transact-SQL) Object Catalog Views (Transact-SQL)
Consultando o catálogo de sistema do SQL Server perguntas Frequentes Querying the SQL Server System Catalog FAQ
sys. internal_tables (Transact-SQL)sys.internal_tables (Transact-SQL)