sys.objects (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge) OuiAzure SQL Database OuiAzure SQL Managed Instance ouiAzure Synapse Analytics OuiParallel Data Warehouse

Contient une ligne pour chaque objet de portée de schéma défini par l’utilisateur et créé dans une base de données, y compris la fonction scalaire définie par l’utilisateur compilée en mode natif.

Pour plus d’informations, consultez Fonctions scalaires définies par l’utilisateur pour l’OLTP en mémoire.

Notes

sys.objects n'affiche pas les déclencheurs DDL car ceux-ci ne sont pas définis avec une étendue de schéma. Tous les déclencheurs, DML et DDL, se trouvent dans sys. Triggers. sys. Triggers prend en charge une combinaison de règles de portée de nom pour les différents types de déclencheurs.

Nom de la colonne Type de données Description
name sysname Nom d’objet
object_id int Numéro d'identification de l'objet. Unique dans une base de données.
principal_id int ID du propriétaire, si celui-ci est différent du propriétaire du schéma. Par défaut, le propriétaire du schéma détient les objets contenus dans le schéma. Cependant, il est possible de spécifier un autre propriétaire à l'aide de l'instruction ALTER AUTHORIZATION qui permet de changer de propriétaire.

Prend la valeur NULL en l'absence d'un autre propriétaire.

Prend la valeur NULL si le type de l'objet est un des types suivants :

C = contrainte CHECK

D = DEFAULT (contrainte ou autonome)

F = Contrainte FOREIGN KEY

PK = Contrainte PRIMARY KEY

R = Règle (ancienne, autonome)

TA = Déclencheur d'assembly (intégration CLR)

TR = Déclencheur SQL

UQ = Contrainte UNIQUE

EC = contrainte Edge
schema_id int ID du schéma dans lequel se trouve l'objet.

Les objets système compris dans l'étendue du schéma sont toujours contenus dans les schémas sys ou INFORMATION_SCHEMA.
parent_object_id int Identificateur de l'objet auquel appartient cet objet.

0 = Il ne s'agit pas d'un objet enfant.
type char(2) Type d’objet :

AF = Fonction d'agrégation (CLR)

C = contrainte CHECK

D = DEFAULT (contrainte ou autonome)

F = Contrainte FOREIGN KEY

FN = Fonction scalaire SQL

FS = Fonction scalaire d'assembly (CLR)

FT = Fonction table d'assembly (CLR)

IF = Fonction table en ligne SQL

IT = table interne

P = Procédure stockée SQL

PC = procédure stockée d’assembly (CLR)

PG = Repère de plan

PK = Contrainte PRIMARY KEY

R = Règle (ancienne, autonome)

RF = Procédure de filtre de réplication

S = Table de base système

SN = Synonyme

SO = Objet séquence

U = Table (définie par l'utilisateur)

V = Vue

EC = contrainte Edge



S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

SQ = File d'attente du service

TA = Déclencheur d'assembly DML (CLR)

TF = SQL fonction table-valued

TR = Déclencheur DML SQL

TT = Type de table

UQ = Contrainte UNIQUE

X = Procédure stockée étendue



S’applique à: SQL Server 2014 (12.x) et versions ultérieures,, Azure SQL Database Azure Synapse Analytics , Analytics Platform System (PDW) .

ST = STATS_TREE



S’applique à: SQL Server 2016 (13.x) et versions ultérieures,, Azure SQL Database Azure Synapse Analytics , Analytics Platform System (PDW) .

ET = table externe
type_desc nvarchar(60) Description du type d'objet :

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



S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

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 Date de création de l'objet.
modify_date datetime Date de la dernière modification de l'objet avec l'instruction ALTER. Si l’objet est une table ou une vue, modify_date change également lorsqu’un index sur la table ou la vue est créé ou modifié.
is_ms_shipped bit Un composant SQL Server interne a créé l'objet.
is_published bit L'objet est publié.
is_schema_published bit Seul le schéma de l'objet est publié.

Notes

Vous pouvez appliquer les fonctions intégrées object_id, object_nameet OBJECTPROPERTY() aux objets affichés dans sys. Objects.

Il existe une version de cette vue avec le même schéma, appelé sys.system_objects, qui affiche des objets système. Il existe une autre vue appelée sys.ALL_OBJECTS qui affiche les objets système et utilisateur. Ces trois affichages catalogue ont la même structure.

Dans cette version de SQL Server, un index étendu, tel qu'un index XML ou un index spatial, est considéré comme une table interne dans sys.objects (type = IT et type_desc = INTERNAL_TABLE). Pour un index étendu :

  • name correspond au nom interne de la table d'index.

  • parent_object_id est le object_id de la table de base.

  • Les colonnes is_ms_shipped, is_published et is_schema_published ont la valeur 0.

Vues système utiles associées
Les sous-ensembles des objets peuvent être affichés à l’aide des vues système pour un type d’objet spécifique, par exemple :

Autorisations

La visibilité des métadonnées dans les affichages catalogue est limitée aux éléments sécurisables qu'un utilisateur détient ou pour lesquels des autorisations lui ont été accordées. Pour plus d'informations, consultez Metadata Visibility Configuration.

Exemples

R. Retour de tous les objets modifiés au cours des N derniers jours

Avant d'exécuter la requête suivante, remplacez <database_name> et <n_days> par des valeurs valides.

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. Retour des paramètres d'une fonction ou d'une procédure stockée spécifique

Avant d'exécuter la requête suivante, remplacez <database_name> et <schema_name.object_name> par des noms valides.

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. Retour de toutes les fonctions définies par l'utilisateur dans une base de données

Avant d'exécuter la requête suivante, remplacez <database_name> par un nom de base de données valide.

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. Retour du propriétaire de chaque objet dans un schéma.

Avant d'exécuter la requête suivante, remplacez toutes les occurrences de <database_name> et <schema_name> par des noms valides.

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  

Voir aussi

Affichages catalogue (Transact-SQL)
sys.all_objects (Transact-SQL)
sys.system_objects (Transact-SQL)
sys.triggers (Transact-SQL)
Vues de catalogue d’objets (Transact-SQL)
interrogation du SQL Server FAQ du catalogue système
sys.internal_tables (Transact-SQL)