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

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Contiene una fila por cada objeto definido por el usuario, el ámbito de esquema que se crea dentro de una base de datos, incluidos los compilados de forma nativa función escalar definida por el usuario.Contains a row for each user-defined, schema-scoped object that is created within a database, including natively compiled scalar user-defined function.

Para obtener más información, vea Funciones escalares definidas por el usuario para OLTP en memoria.For more information, see Scalar User-Defined Functions for In-Memory OLTP.

Nota

sys.objects no muestra los desencadenadores DDL, porque no tienen el ámbito de esquema.sys.objects does not show DDL triggers, because they are not schema-scoped. Todos los desencadenadores tanto DML como DDL, se encuentran en sys.triggers.All triggers, both DML and DDL, are found in sys.triggers. Sys.Triggers admite una mezcla de reglas de ámbito con nombre para los distintos tipos de desencadenadores.sys.triggers supports a mixture of name-scoping rules for the various kinds of triggers.

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
namename sysnamesysname Nombre del objeto.Object name.
object_idobject_id intint Número de identificación del objeto.Object identification number. Es único en una base de datos.Is unique within a database.
principal_idprincipal_id intint Identificador del propietario individual, si es diferente del propietario del esquema.ID of the individual owner, if different from the schema owner. De forma predeterminada, los objetos contenidos en el esquema pertenecen al propietario del esquema.By default, schema-contained objects are owned by the schema owner. No obstante, es posible especificar un propietario alternativo mediante la instrucción ALTER AUTHORIZATION para cambiar la propiedad.However, an alternate owner can be specified by using the ALTER AUTHORIZATION statement to change ownership.

Es NULL si no existe ningún propietario individual alternativo.Is NULL if there is no alternate individual owner.

Es NULL si el tipo de objeto es uno de los siguientes:Is NULL if the object type is one of the following:

C = restricción CHECKC = CHECK constraint

D = DEFAULT (restricción o independiente)D = DEFAULT (constraint or stand-alone)

F = Restricción FOREIGN KEYF = FOREIGN KEY constraint

PK = Restricción PRIMARY KEYPK = PRIMARY KEY constraint

R = Regla (estilo antiguo, independiente)R = Rule (old-style, stand-alone)

TA = Desencadenador de ensamblado (integración CLR)TA = Assembly (CLR-integration) trigger

TR = Desencadenador SQLTR = SQL trigger

UQ = Restricción UNIQUEUQ = UNIQUE constraint

CE = restricción perimetralEC = Edge constraint
schema_idschema_id intint Id. del esquema que contiene el objeto.ID of the schema that the object is contained in.

Los objetos de sistema con ámbito de esquema siempre están contenidos en los esquemas sys o INFORMATION_SCHEMA.Schema-scoped system objects are always contained in the sys or INFORMATION_SCHEMA schemas.
parent_object_idparent_object_id intint Identificador del objeto al que pertenece este objeto.ID of the object to which this object belongs.

0 = No es un objeto secundario.0 = Not a child object.
typetype char(2)char(2) Tipo de objeto:Object type:

AF = Función de agregado (CLR)AF = Aggregate function (CLR)

C = restricción CHECKC = CHECK constraint

D = DEFAULT (restricción o independiente)D = DEFAULT (constraint or stand-alone)

F = Restricción FOREIGN KEYF = FOREIGN KEY constraint

FN = Función escalar de SQLFN = SQL scalar function

FS = Función escalar del ensamblado (CLR)FS = Assembly (CLR) scalar-function

FT = Función con valores de tabla de ensamblado (CLR)FT = Assembly (CLR) table-valued function

IF = Función SQL insertada con valores de tablaIF = SQL inline table-valued function

IT = tabla internaIT = Internal table

P = Procedimiento almacenado de SQLP = SQL Stored Procedure

PC = Procedimiento almacenado del ensamblado (CLR)PC = Assembly (CLR) stored-procedure

PG = Guía de planPG = Plan guide

PK = Restricción PRIMARY KEYPK = PRIMARY KEY constraint

R = Regla (estilo antiguo, independiente)R = Rule (old-style, stand-alone)

RF = Procedimiento de filtro de replicaciónRF = Replication-filter-procedure

S = Tabla base del sistemaS = System base table

SN = SinónimoSN = Synonym

SO = Objeto de secuenciaSO = Sequence object

U = Tabla (definida por el usuario)U = Table (user-defined)

V = VistaV = View

CE = restricción perimetralEC = Edge constraint



Se aplica a: desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.



SQ = Cola de servicioSQ = Service queue

TA = Desencadenador DML del ensamblado (CLR)TA = Assembly (CLR) DML trigger

TF = Función con valores de tabla SQLTF = SQL table-valued-function

TR = Desencadenador DML de SQLTR = SQL DML trigger

TT = Tipo de tablaTT = Table type

UQ = Restricción UNIQUEUQ = UNIQUE constraint

X = Procedimiento almacenado extendidoX = Extended stored procedure



Se aplica a: SQL Server 2016 (13.x)SQL Server 2016 (13.x) a través de SQL Server 2017SQL Server 2017, Base de datos SQL de AzureAzure SQL Database, Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse.Applies to: SQL Server 2016 (13.x)SQL Server 2016 (13.x) through SQL Server 2017SQL Server 2017, Base de datos SQL de AzureAzure SQL Database, Almacenamiento de datos SQL de AzureAzure SQL Data Warehouse, Almacenamiento de datos paralelosParallel Data Warehouse.



ET = tabla externaET = External Table
type_desctype_desc nvarchar(60)nvarchar(60) Descripción del 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



Se aplica a: desde SQL Server 2012 (11.x)SQL Server 2012 (11.x) hasta 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 Fecha de creación del objeto.Date the object was created.
modify_datemodify_date datetimedatetime Fecha en que se modificó el objeto por última vez con una instrucción ALTER.Date the object was last modified by using an ALTER statement. Si el objeto es una tabla o una vista, modify_date también cambia cuando se crea o modifica un índice clúster en la tabla o la vista.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 Un componente interno de SQL ServerSQL Server crea el objeto.Object is created by an internal SQL ServerSQL Server component.
is_publishedis_published bitbit El objeto se publica.Object is published.
is_schema_publishedis_schema_published bitbit Solo se ha publicado el esquema del objeto.Only the schema of the object is published.

ComentariosRemarks

Puede aplicar el OBJECT_ID, OBJECT_NAME, y OBJECTPROPERTY() de las funciones integradas para los objetos que se muestran en sys.objects.You can apply the OBJECT_ID, OBJECT_NAME, and OBJECTPROPERTY() built-in functions to the objects shown in sys.objects.

Hay una versión de esta vista con el mismo esquema, llamado sys.system_objects, que muestra los objetos del sistema.There is a version of this view with the same schema, called sys.system_objects, that shows system objects. Hay otra vista denominada sys.all_objects que muestra los objetos de usuario y del sistema.There is another view called sys.all_objects that shows both system and user objects. Las tres vistas de catálogo tienen la misma estructura.All three catalog views have the same structure.

En esta versión de SQL ServerSQL Server, un índice extendido, por ejemplo un índice XML o espacial, se considera como una tabla interna en sys.objects (type = IT y 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). En un índice extendido:For an extended index:

  • name es el nombre interno de la tabla de índice.name is the internal name of the index table.

  • parent_object_id es el object_id de la tabla base.parent_object_id is the object_id of the base table.

  • Las columnas is_ms_shipped, is_published y is_schema_published están establecidas en 0.is_ms_shipped, is_published and is_schema_published columns are set to 0.

Vistas del sistema útiles relacionadosRelated useful system views
Subconjuntos de los objetos se pueden ver mediante el uso de vistas del sistema para un 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:

PermisosPermissions

La visibilidad de los metadatos en las vistas de catálogo se limita a los elementos protegibles y que son propiedad de un usuario o sobre los que el usuario tiene algún permiso.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 obtener más información, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

EjemplosExamples

A.A. Devolver todos los objetos modificados en los últimos N díasReturning all the objects that have been modified in the last N days

Antes de ejecutar la consulta siguiente, reemplace <database_name> y <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. Devolver los parámetros de un procedimiento almacenado o función determinadosReturning the parameters for a specified stored procedure or function

Antes de ejecutar la consulta siguiente, reemplace <database_name> y <schema_name.object_name> por nombres 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. Devolver todas las funciones definidas por el usuario de una base de datosReturning all the user-defined functions in a database

Antes de ejecutar la consulta siguiente, reemplace <database_name> por un nombre de base de datos 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. Devolver el propietario de cada objeto de un esquema.Returning the owner of each object in a schema.

Antes de ejecutar la consulta siguiente, reemplace todas las apariciones de <database_name> y <schema_name> por nombres 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  

Vea tambiénSee Also

Vistas de catálogo (Transact-SQL) Catalog Views (Transact-SQL)
sys.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)
Object Catalog Views (Transact-SQL) (Vistas de catálogo de objetos [Transact-SQL])Object Catalog Views (Transact-SQL)
Consultar el catálogo del sistema SQL Server preguntas más frecuentes Querying the SQL Server System Catalog FAQ
sys.internal_tables (Transact-SQL)sys.internal_tables (Transact-SQL)