sys.objects (Transact-SQL)

Se aplica a:yesSQL Server (todas las versiones admitidas) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Contiene una fila para cada objeto definido por el usuario y con ámbito de esquema que se crea en una base de datos, incluida la función escalar escalar compilada de forma nativa.

Para obtener más información, vea Funciones escalares definidas por el usuario para OLTP en memoria.

Nota

sys.objects no muestra los desencadenadores DDL, porque no tienen el ámbito de esquema. Todos los desencadenadores, tanto DML como DDL, se encuentran en sys.triggers. sys.triggers admite una combinación de reglas de ámbito de nombres para los distintos tipos de desencadenadores.

Nombre de la columna Tipo de datos Descripción
name sysname Nombre de objeto.
object_id int Número de identificación del objeto. Es único en una base de datos.
principal_id int Identificador del propietario individual, si es diferente del propietario del esquema. De forma predeterminada, los objetos contenidos en el esquema pertenecen al propietario del esquema. No obstante, es posible especificar un propietario alternativo mediante la instrucción ALTER AUTHORIZATION para cambiar la propiedad.

Es NULL si no existe ningún propietario individual alternativo.

Es NULL si el tipo de objeto es uno de los siguientes:

C = restricción CHECK

D = DEFAULT (restricción o independiente)

F = Restricción FOREIGN KEY

PK = Restricción PRIMARY KEY

R = Regla (estilo antiguo, independiente)

TA = Desencadenador de ensamblado (integración CLR)

TR = Desencadenador SQL

UQ = Restricción UNIQUE

EC = Restricción edge
schema_id int Identificador del esquema en el que se encuentra el objeto.

Los objetos de sistema con ámbito de esquema siempre están contenidos en los esquemas sys o INFORMATION_SCHEMA.
parent_object_id int Identificador del objeto al que pertenece este objeto.

0 = No es un objeto secundario.
tipo char(2) Tipo de objeto:

AF = Función de agregado (CLR)

C = restricción CHECK

D = DEFAULT (restricción o independiente)

F = Restricción FOREIGN KEY

FN = Función escalar de SQL

FS = Función escalar del ensamblado (CLR)

FT = Función con valores de tabla de ensamblado (CLR)

IF = Función SQL insertada con valores de tabla

IT = Tabla interna

P = Procedimiento almacenado de SQL

PC = Procedimiento almacenado del ensamblado (CLR)

PG = Guía de plan

PK = Restricción PRIMARY KEY

R = Regla (estilo antiguo, independiente)

RF = Procedimiento de filtro de replicación

S = Tabla base del sistema

SN = Sinónimo

SO = Objeto de secuencia

U = Tabla (definida por el usuario)

V = Vista

EC = Restricción edge



Válido para : SQL Server 2012 (11.x) y versiones posteriores.

SQ = Cola de servicio

TA = Desencadenador DML del ensamblado (CLR)

TF = Función con valores de tabla SQL

TR = Desencadenador DML de SQL

TT = Tipo de tabla

UQ = Restricción UNIQUE

X = Procedimiento almacenado extendido



Se aplica a: SQL Server 2014 (12.x) y versiones posteriores, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).

ST = STATS_TREE



Se aplica a: SQL Server 2016 (13.x) y versiones posteriores, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW).

ET = Tabla externa
type_desc nvarchar(60) Descripción del tipo de objeto:

AGGREGATE_FUNCTION

CHECK_CONSTRAINT

CLR_SCALAR_FUNCTION

CLR_STORED_PROCEDURE

CLR_TABLE_VALUED_FUNCTION

CLR_TRIGGER

DEFAULT_CONSTRAINT

EXTENDED_STORED_PROCEDURE

FOREIGN_KEY_CONSTRAINT

INTERNAL_TABLE

PLAN_GUIDE

PRIMARY_KEY_CONSTRAINT

REPLICATION_FILTER_PROCEDURE

RULE

SEQUENCE_OBJECT



Válido para : SQL Server 2012 (11.x) y versiones posteriores.

SERVICE_QUEUE

SQL_INLINE_TABLE_VALUED_FUNCTION

SQL_SCALAR_FUNCTION

SQL_STORED_PROCEDURE

SQL_TABLE_VALUED_FUNCTION

SQL_TRIGGER

SYNONYM

SYSTEM_TABLE

TABLE_TYPE

UNIQUE_CONSTRAINT

USER_TABLE

VIEW
create_date datetime Fecha de creación del objeto.
modify_date datetime Fecha en que se modificó el objeto por última vez con una instrucción ALTER. Si el objeto es una tabla o una vista, modify_date también cambia cuando se crea o modifica un índice en la tabla o vista.
is_ms_shipped bit Un componente de SQL Server interno crea el objeto .
is_published bit El objeto se publica.
is_schema_published bit Solo se ha publicado el esquema del objeto.

Comentarios

Puede aplicar las funciones integradas OBJECT_ID, OBJECT_NAME y OBJECTPROPERTY() a los objetos que se muestran en sys.objects.

Hay una versión de esta vista con el mismo esquema, denominado sys.system_objects, que muestra los objetos del sistema. Hay otra vista denominada sys.all_objects que muestra los objetos del sistema y del usuario. Las tres vistas de catálogo tienen la misma estructura.

En esta versión de SQL Server, un índice extendido, como un índice XML o un índice espacial, se considera una tabla interna en sys.objects (tipo = IT y type_desc = INTERNAL_TABLE). En un índice extendido:

  • name es el nombre interno de la tabla de índice.

  • parent_object_id es el object_id de la tabla base.

  • Las columnas is_ms_shipped, is_published y is_schema_published están establecidas en 0.

Vistas del sistema útiles relacionadas
Los subconjuntos de los objetos se pueden ver mediante vistas del sistema para un tipo específico de objeto, como:

Permisos

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. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplos

A. Devolver todos los objetos modificados en los últimos N días

Antes de ejecutar la consulta siguiente, reemplace <database_name> y <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. Devolver los parámetros de un procedimiento almacenado o función determinados

Antes de ejecutar la consulta siguiente, reemplace <database_name> y <schema_name.object_name> por nombres 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 las funciones definidas por el usuario de una base de datos

Antes de ejecutar la consulta siguiente, reemplace <database_name> por un nombre de base de datos válido.

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. Devolver el propietario de cada objeto de un esquema.

Antes de ejecutar la consulta siguiente, reemplace todas las apariciones de <database_name> y <schema_name> por nombres 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 JOIN sys.schemas AS s  
    ON s.schema_id = xsc.schema_id  
WHERE s.name = '<schema_name>';  
GO  

Consulte también

Vistas de catálogo (Transact-SQL)
sys.all_objects (Transact-SQL)
sys.system_objects (Transact-SQL)
sys.triggers (Transact-SQL)
Vistas de catálogo de objetos (Transact-SQL)
Consultar las preguntas más frecuentes (P+F) del catálogo del sistema de SQL Server
sys.internal_tables (Transact-SQL)