sys.objects (Transact-SQL)
Se aplica a: punto de conexión de SQL Server Azure SQL Database Azure SQL Instancia administrada punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics System (PDW) de SQL Server en Microsoft Fabric Warehouse en Microsoft Fabric
Contiene una fila para cada objeto definido por el usuario y de ámbito de esquema que se crea dentro de una base de datos, incluidas las funciones escalares compiladas 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 desencadenadores DDL, ya que no tienen ámbito de esquema. Todos los desencadenadores, tanto DML como DDL, se encuentran en sys.triggers. sys.triggers
admite una mezcla de reglas de ámbito de nombre 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. Sin embargo, se puede especificar un propietario alternativo mediante la instrucción para cambiar la ALTER AUTHORIZATION propiedad.NULL si no hay ningún propietario individual alternativo.Es NULL si el tipo de objeto es uno de los siguientes valores:C = Restricción CheckD = Valor predeterminado (restricción o independiente)F = Restricción de clave externaPK = Restricción de clave principalR = Regla (estilo antiguo, independiente)TA = Desencadenador ensamblado (integración CLR)TR = desencadenador de SQLUQ = Restricción uniqueEC = Restricción edge |
schema_id |
int | Identificador del esquema en el que se encuentra el objeto. Los objetos del sistema con ámbito de esquema siempre se encuentran en los esquemas o INFORMATION_SCHEMA sys. |
parent_object_id |
int | Identificador del objeto al que pertenece este objeto.0 = No es un objeto secundario. |
type |
char(2) | Tipo de objeto:AF = Función aggregate (CLR)C = Restricción CheckD = Valor predeterminado (restricción o independiente)F = Restricción de clave externaFN = Función escalar de SQLFS = Función escalar de ensamblado (CLR)FT = Función con valores de tabla (CLR)IF = Función insertada con valores de tabla (TVF) de SQLIT = Tabla internaP = Procedimiento almacenado de SQLPC = Procedimiento almacenado de ensamblado (CLR)PG = Guía de planPK = Restricción de clave principalR = Regla (estilo antiguo, independiente)RF = Replication-filter-procedureS = Tabla base del sistemaSN = SinónimoSO = Sequence (objeto)U = Tabla (definida por el usuario)V = VerSe aplica a: SQL Server 2012 (11.x) y versiones posteriores. SQ = Cola de servicioTA = Desencadenador DML de ensamblado (CLR)TF = Función con valores de tabla de SQL (TVF)TR = Desencadenador DML de SQLTT = Tipo de tablaUQ = restricción uniqueX = Procedimiento almacenado extendidoSe aplica a: SQL Server 2014 (12.x) y versiones posteriores, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) ST = Árbol de estadísticasSe aplica a: SQL Server 2016 (13.x) y versiones posteriores, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) ET = Tabla externaSe aplica a: SQL Server 2017 (14.x) y versiones posteriores, Azure SQL Database, Azure Synapse Analytics, Analytics Platform System (PDW) EC = Restricción edge |
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 EDGE_CONSTRAINT EXTENDED_STORED_PROCEDURE FOREIGN_KEY_CONSTRAINT INTERNAL_TABLE PLAN_GUIDE PRIMARY_KEY_CONSTRAINT REPLICATION_FILTER_PROCEDURE RULE SEQUENCE_OBJECT SERVICE_QUEUE SQL_INLINE_TABLE_VALUED_FUNCTION SQL_SCALAR_FUNCTION SQL_STORED_PROCEDURE SQL_TABLE_VALUED_FUNCTION SQL_TRIGGER SYNONYM SYSTEM_TABLE TYPE_TABLE UNIQUE_CONSTRAINT USER_TABLE VIEW |
create_date |
datetime | Fecha de creación del objeto. |
modify_date |
datetime | Fecha en que el objeto se modificó por última vez mediante una ALTER instrucción . 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 la vista. |
is_ms_shipped |
bit | Un componente interno de SQL Server 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 mostrados en sys.objects
.
Hay una versión de esta vista con el mismo esquema, denominado sys.system_objects, que muestra los objetos del sistema. Otra vista, denominada sys.all_objects, 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
(type
es IT
, y type_desc
es INTERNAL_TABLE
). En un índice extendido:
name
es el nombre interno de la tabla de índice.parent_object_id
es elobject_id
de la tabla base.is_ms_shipped
Las columnas ,is_published
yis_schema_published
se establecen en0
Vistas del sistema 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 ha recibido 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. Devolución de 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. Devolución de 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. Devolución del 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
INNER JOIN sys.schemas AS s
ON s.schema_id = xsc.schema_id
WHERE s.name = '<schema_name>';
GO
Contenido relacionado
- Vistas de catálogo del sistema (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)