Partager via


OBJECTPROPERTYEX (Transact-SQL)

Retourne des informations concernant les objets étendus aux schémas dans la base de données actuelle. Pour obtenir la liste de ces objets, consultez sys.objects (Transact-SQL). OBJECTPROPERTYEX ne peut pas être utilisé pour des objets qui ne sont pas étendus aux schémas, tels que les déclencheurs DDL (Data Definition Language) et les notifications d'événements.

S'applique à : SQL Server (SQL Server 2008 via la version actuelle, Base de données SQL Windows Azure (version initiale via la version actuelle.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

OBJECTPROPERTYEX ( id , property )

Arguments

  • id
    Expression représentant l'ID de l'objet dans la base de données active. id est de type int et est considéré comme un objet étendu aux schémas dans le contexte de la base de données active.

  • property
    Expression contenant les informations à retourner pour l'objet spécifié par id. Le type de retour est sql_variant. Le tableau qui suit indique le type de données de base pour chaque valeur de propriété.

    Notes

    Sauf indication contraire, NULL est retourné lorsque property n'est pas un nom de propriété valide, lorsque id n'est pas un ID d'objet valide, lorsque id est un type d'objet non pris en charge pour la valeur spécifiée de property ou lorsque l'appelant n'est pas autorisé à consulter les métadonnées de l'objet.

    Nom de la propriété

    Type d'objet

    Description et valeurs retournées

    BaseType

    Tout objet étendu aux schémas

    Identifie le type de base de l'objet. Lorsque l'objet spécifié est un SYNONYM, le type de base de l'objet sous-jacent est retourné.

    Nonnull = Type d'objet

    Type de données de base : char(2)

    CnstIsClustKey

    Contrainte

    Contrainte PRIMARY KEY avec un index cluster.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsColumn

    Contrainte

    Contrainte CHECK, DEFAULT ou FOREIGN KEY sur une seule colonne.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsDeleteCascade

    Contrainte

    Contrainte FOREIGN KEY avec l'option ON DELETE CASCADE.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsDisabled

    Contrainte

    Contrainte désactivée.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsNonclustKey

    Constraint

    Contrainte PRIMARY KEY avec un index non cluster.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsNotRepl

    Contrainte

    La contrainte est définie avec les mots clés NOT FOR REPLICATION.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsNotTrusted

    Contrainte

    La contrainte a été activée sans vérification des lignes existantes. Il se peut donc qu'elle ne s'applique pas à toutes les lignes.

    1 = True

    0 = False

    Type de données de base : int

    CnstIsUpdateCascade

    Contrainte

    Contrainte FOREIGN KEY avec l'option ON UPDATE CASCADE.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsAfterTrigger

    Déclencheur

    Déclencheur AFTER.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsAnsiNullsOn

    Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue

    Définition des valeurs ANSI NULL lors de la création.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsDeleteTrigger

    Déclencheur

    Déclencheur DELETE.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsFirstDeleteTrigger

    Déclencheur

    Premier déclencheur exécuté lorsqu'une instruction DELETE est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsFirstInsertTrigger

    Déclencheur

    Premier déclencheur exécuté lorsqu'une instruction INSERT est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsFirstUpdateTrigger

    Déclencheur

    Premier déclencheur exécuté lorsqu'une instruction UPDATE est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsInsertTrigger

    Déclencheur

    Déclencheur INSERT.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsInsteadOfTrigger

    Déclencheur

    Déclencheur INSTEAD OF.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsLastDeleteTrigger

    Déclencheur

    Dernier déclencheur activé lorsqu'une instruction DELETE est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsLastInsertTrigger

    Déclencheur

    Dernier déclencheur activé lorsqu'une instruction INSERT est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsLastUpdateTrigger

    Déclencheur

    Dernier déclencheur activé lorsqu'une instruction UPDATE est exécutée sur la table.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsQuotedIdentOn

    Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue

    Définition de QUOTED_IDENTIFIER lors de la création.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsStartup

    Procédure

    Procédure de démarrage.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsTriggerDisabled

    Déclencheur

    Déclencheur désactivé.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsTriggerNotForRepl

    Déclencheur

    Déclencheur défini comme NOT FOR REPLICATION.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsUpdateTrigger

    Déclencheur

    Déclencheur UPDATE.

    1 = True

    0 = False

    Type de données de base : int

    ExecIsWithNativeCompilation

    Procédure Transact-SQL

    Procédure compilée en mode natif.

    1 = True

    0 = False

    Type de données de base : int

    S'applique à : SQL Server 2014 et SQL Server 2014.

    HasAfterTrigger

    Table, vue

    La table ou la vue comporte un déclencheur AFTER.

    1 = True

    0 = False

    Type de données de base : int

    HasDeleteTrigger

    Table, vue

    La table ou la vue comporte un déclencheur DELETE.

    1 = True

    0 = False

    Type de données de base : int

    HasInsertTrigger

    Table, vue

    La table ou la vue comporte un déclencheur INSERT.

    1 = True

    0 = False

    Type de données de base : int

    HasInsteadOfTrigger

    Table, vue

    La table ou la vue comporte un déclencheur INSTEAD OF.

    1 = True

    0 = False

    Type de données de base : int

    HasUpdateTrigger

    Table, vue

    La table ou la vue comporte un déclencheur UPDATE.

    1 = True

    0 = False

    Type de données de base : int

    IsAnsiNullsOn

    Fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue

    Spécifie que l'option ANSI NULLS de la table a la valeur ON. Toutes les comparaisons avec une valeur Null produisent la valeur UNKNOWN. Ce paramètre s'applique à l'ensemble des expressions dans la définition de la table, y compris les contraintes et les colonnes calculées, aussi longtemps que la table existe.

    1 = True

    0 = False

    Type de données de base : int

    IsCheckCnst

    Tout objet étendu aux schémas

    Contrainte CHECK.

    1 = True

    0 = False

    Type de données de base : int

    IsConstraint

    Tout objet étendu aux schémas

    Contrainte

    1 = True

    0 = False

    Type de données de base : int

    IsDefault

    Tout objet étendu aux schémas

    Valeur par défaut associée.

    1 = True

    0 = False

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    IsDefaultCnst

    Tout objet étendu aux schémas

    Contrainte DEFAULT.

    1 = True

    0 = False

    Type de données de base : int

    IsDeterministic

    Fonctions scalaires et fonctions table, vue

    Propriété de déterminisme de la fonction ou de la vue.

    1 = Déterministe

    0 = Non déterministe

    Type de données de base : int

    IsEncrypted

    Fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue

    Indique que le texte d'origine provenant de l'instruction du module a été converti dans un format d'obfuscation. La sortie générée par l'obfuscation n'est pas visible directement dans les affichages catalogue de SQL Server 2005. Les utilisateurs n'ayant pas accès aux tables système ou aux fichiers de base de données ne peuvent pas récupérer le texte d'obfuscation. Le texte est cependant à la disposition des utilisateurs qui peuvent accéder aux tables système via le port DAC ou accéder directement aux fichiers de bases de données. Les utilisateurs qui peuvent associer un débogueur au processus serveur peuvent également récupérer la procédure d'origine de la mémoire au moment de l'exécution.

    1 = Chiffré

    0 = Non chiffré

    Type de données de base : int

    IsExecuted

    Tout objet étendu aux schémas

    Spécifie quel objet peut être exécuté (vue, procédure, fonction ou déclencheur).

    1 = True

    0 = False

    Type de données de base : int

    IsExtendedProc

    Tout objet étendu aux schémas

    Procédure étendue.

    1 = True

    0 = False

    Type de données de base : int

    IsForeignKey

    Tout objet étendu aux schémas

    Contrainte FOREIGN KEY.

    1 = True

    0 = False

    Type de données de base : int

    IsIndexed

    Table, vue

    Table ou vue comportant un index.

    1 = True

    0 = False

    Type de données de base : int

    IsIndexable

    Table, vue

    Table ou vue dans laquelle un index peut être créé.

    1 = True

    0 = False

    Type de données de base : int

    IsInlineFunction

    Fonction

    Fonction Inline.

    1 = Fonction Inline

    0 = Fonction non Inline

    Type de données de base : int

    IsMSShipped

    Tout objet étendu aux schémas

    Objet créé durant l'installation de SQL Server.

    1 = True

    0 = False

    Type de données de base : int

    IsPrecise

    Colonne calculée, fonction, type défini par l'utilisateur, vue

    Indique si l'objet contient un calcul imprécis, tel que des opérations en virgule flottante.

    1 = Précis

    0 = Imprécis

    Type de données de base : int

    IsPrimaryKey

    Tout objet étendu aux schémas

    Contrainte PRIMARY KEY.

    1 = True

    0 = False

    Type de données de base : int

    IsProcedure

    Tout objet étendu aux schémas

    Procédure.

    1 = True

    0 = False

    Type de données de base : int

    IsQuotedIdentOn

    Contrainte CHECK, définition DEFAULT, fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue

    Spécifie que le paramètre d'identificateur entre guillemets de l'objet a la valeur ON. Les guillemets doubles délimitent les identificateurs dans toutes les expressions impliquées dans la définition de l'objet.

    1 = True

    0 = False

    Type de données de base : int

    IsQueue

    Tout objet étendu aux schémas

    File d'attente Service Broker

    1 = True

    0 = False

    Type de données de base : int

    IsReplProc

    Tout objet étendu aux schémas

    Procédure de réplication.

    1 = True

    0 = False

    Type de données de base : int

    IsRule

    Tout objet étendu aux schémas

    Règle liée.

    1 = True

    0 = False

    Type de données de base : int

    IsScalarFunction

    Fonction

    Fonction scalaire.

    1 = Fonction scalaire

    0 = Fonction non scalaire

    Type de données de base : int

    IsSchemaBound

    Fonction, Procédure, vue

    Fonction ou vue liée à un schéma, créée à l'aide de SCHEMABINDING.

    1 = Fonction liée à un schéma

    0 = Fonction non liée à un schéma

    Type de données de base : int

    IsSystemTable

    Table

    Table système.

    1 = True

    0 = False

    Type de données de base : int

    IsSystemVerified

    Colonne calculée, fonction, type défini par l'utilisateur, vue

    Les propriétés de précision et de déterminisme de l'objet peuvent être vérifiées par SQL Server.

    1 = True

    0 = False

    Type de données de base : int

    IsTable

    Table

    Table.

    1 = True

    0 = False

    Type de données de base : int

    IsTableFunction

    Fonction

    Fonction table.

    1 = Fonction table

    0 = Fonction non-table

    Type de données de base : int

    IsTrigger

    Tout objet étendu aux schémas

    Déclencheur.

    1 = True

    0 = False

    Type de données de base : int

    IsUniqueCnst

    Tout objet étendu aux schémas

    Contrainte UNIQUE.

    1 = True

    0 = False

    Type de données de base : int

    IsUserTable

    Table

    Table définie par l'utilisateur.

    1 = True

    0 = False

    Type de données de base : int

    IsView

    Vue

    Vue.

    1 = True

    0 = False

    Type de données de base : int

    OwnerId

    Tout objet étendu aux schémas

    Propriétaire de l'objet.

    Notes

    Le propriétaire du schéma n'est pas nécessairement le propriétaire de l'objet.Par exemple, les objets enfants (ceux où parent_object_id est non NULL) retournent toujours le même ID de propriétaire que leur parent.

    Nonnull = ID d'utilisateur de base de données du propriétaire de l'objet.

    NULL = Type d'objet non pris en charge, ou ID d'objet non valide.

    Type de données de base : int

    SchemaId

    Tout objet étendu aux schémas

    ID du schéma associé à l'objet.

    Nonnull = ID de schéma de l'objet.

    Type de données de base : int

    SystemDataAccess

    Fonction, vue

    L'objet accède aux données système, aux catalogues système ou aux tables système virtuelles, dans l'instance locale de SQL Server.

    0 = Aucun

    1 = Lecture

    Type de données de base : int

    TableDeleteTrigger

    Table

    La table comporte un déclencheur DELETE.

    >1 = ID du premier déclencheur du type spécifié.

    Type de données de base : int

    TableDeleteTriggerCount

    Table

    La table comporte le nombre de déclencheurs DELETE spécifié.

    Nonnull = Nombre de déclencheurs DELETE

    Type de données de base : int

    TableFullTextMergeStatus

    Table

    Indique s'il s'agit d'une table qui a un index de recherche en texte intégral qui est en cours de fusion.

    0 = La table n'a pas d'index de recherche en texte intégral ou l'index de recherche en texte intégral n'est pas en cours de fusion.

    1 = L'index de recherche en texte intégral est en cours de fusion.

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFullTextBackgroundUpdateIndexOn

    Table

    L'index de mise à jour d'arrière-plan en texte intégral (suivi des modifications automatiques) est activé pour la table.

    1 = TRUE

    0 = FALSE

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextCatalogId

    Table

    ID du catalogue de texte intégral dans lequel résident les données d'indexation de texte intégral de la table.

    Différent de zéro = ID de catalogue de texte intégral associé à l'index unique qui identifie les lignes dans une table indexée en texte intégral.

    0 = Table sans index de recherche en texte intégral.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFullTextChangeTrackingOn

    Table

    Le suivi des modifications de texte intégral est activé pour la table.

    1 = TRUE

    0 = FALSE

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextDocsProcessed

    Table

    Nombre de lignes traitées depuis le démarrage de l'indexation de texte intégral. Dans une table en cours d'indexation pour une recherche en texte intégral, toutes les colonnes d'une ligne sont considérées comme faisant partie d'un même document à indexer.

    0 = Aucune analyse ou indexation de texte intégral active n'est terminée.

    > 0 = l'une des possibilités suivantes :

    • Nombre de documents traités par des opérations d'insertion ou de mise à jour depuis le début d'une modification de remplissage intégral, incrémentiel ou manuel.

    • Nombre de lignes traitées par des opérations d'insertion ou de mise à jour depuis l'activation des modifications avec le remplissage de l'index de mise à jour d'arrière-plan, depuis la modification du schéma d'index en texte intégral, depuis la reconstruction du catalogue de texte intégral, depuis que l'instance de SQL Server a redémarré, etc.

    NULL = Table sans index de recherche en texte intégral.

    Type de données de base : int

    Remarque   Cette propriété ne contrôle pas et ne compte pas les lignes supprimées.

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextFailCount

    Table

    Nombre de lignes que la recherche en texte intégral n'a pas indexées.

    0 = Le remplissage est terminé.

    >0 = L'une des possibilités suivantes :

    • Nombre de documents qui n'ont pas été indexés depuis le début d'une mise à jour du remplissage intégral, incrémentiel ou manuel.

    • Pour le suivi des modifications avec l'index de mise à jour d'arrière-plan, nombre de lignes qui n'ont pas été indexées depuis le début du remplissage, ou depuis le redémarrage du remplissage. Ceci peut être provoqué par une modification du schéma, la reconstruction du catalogue, le redémarrage du serveur, etc.

    NULL = Table sans index de recherche en texte intégral.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextItemCount

    Table

    Nonnull = Nombre de lignes qui ont été correctement indexées en texte intégral.

    NULL = Table sans index de recherche en texte intégral.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextKeyColumn

    Table

    ID de la colonne associée à l'index de colonne unique qui fait partie de la définition d'un index de recherche en texte intégral et d'un index sémantique.

    0 = Table sans index de recherche en texte intégral.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextPendingChanges

    Table

    Nombre d'entrées de suivi des modifications en attente à traiter.

    0 = Le suivi des modifications n'est pas activé.

    NULL = Table sans index de recherche en texte intégral.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFulltextPopulateStatus

    Table

    0 = Inactif.

    1 = Remplissage complet en cours.

    2 = Remplissage incrémentiel en cours.

    3 = Propagation des changements suivis en cours.

    4 = Création de l'index de mise à jour d'arrière-plan en cours, par exemple le suivi des modifications automatiques.

    5 = Indexation de texte intégral accélérée ou suspendue.

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableFullTextSemanticExtraction

    Table

    La table est activée pour l'indexation sémantique.

    1 = True

    0 = False

    Type de données de base : int

    S'applique à : SQL Server 2012 et SQL Server 2014.

    TableHasActiveFulltextIndex

    Table

    La table dispose d'un index de recherche en texte intégral actif.

    1 = True

    0 = False

    Type de données de base : int

    S'applique à : SQL Server 2008 et SQL Server 2014.

    TableHasCheckCnst

    Table

    La table comporte une contrainte CHECK.

    1 = True

    0 = False

    Type de données de base : int

    TableHasClustIndex

    Table

    La table comporte un index cluster.

    1 = True

    0 = False

    Type de données de base : int

    TableHasDefaultCnst

    Table

    La table comporte une contrainte DEFAULT.

    1 = True

    0 = False

    Type de données de base : int

    TableHasDeleteTrigger

    Table

    La table comporte un déclencheur DELETE.

    1 = True

    0 = False

    Type de données de base : int

    TableHasForeignKey

    Table

    La table comporte une contrainte FOREIGN KEY.

    1 = True

    0 = False

    Type de données de base : int

    TableHasForeignRef

    Table

    La table est référencée par une contrainte FOREIGN KEY.

    1 = True

    0 = False

    Type de données de base : int

    TableHasIdentity

    Table

    La table comporte une colonne d'identité.

    1 = True

    0 = False

    Type de données de base : int

    TableHasIndex

    Table

    La table comporte un index de type non défini.

    1 = True

    0 = False

    Type de données de base : int

    TableHasInsertTrigger

    Table

    L'objet comporte un déclencheur INSERT.

    1 = True

    0 = False

    Type de données de base : int

    TableHasNonclustIndex

    Table

    La table comporte un index non cluster.

    1 = True

    0 = False

    Type de données de base : int

    TableHasPrimaryKey

    Table

    La table comporte une clé primaire.

    1 = True

    0 = False

    Type de données de base : int

    TableHasRowGuidCol

    Table

    La table comporte un ROWGUIDCOL pour une colonne uniqueidentifier .

    1 = True

    0 = False

    Type de données de base : int

    TableHasTextImage

    Table

    La table comporte une colonne text, ntext ou image.

    1 = True

    0 = False

    Type de données de base : int

    TableHasTimestamp

    Table

    La table comporte une colonne timestamp.

    1 = True

    0 = False

    Type de données de base : int

    TableHasUniqueCnst

    Table

    La table comporte une contrainte UNIQUE.

    1 = True

    0 = False

    Type de données de base : int

    TableHasUpdateTrigger

    Table

    La table comporte un déclencheur UPDATE.

    1 = True

    0 = False

    Type de données de base : int

    TableHasVarDecimalStorageFormat

    Table

    La table est activée pour le format de stockage vardecimal.

    1 = True

    0 = False

    TableInsertTrigger

    Table

    La table comporte un déclencheur INSERT.

    >1 = ID du premier déclencheur du type spécifié.

    Type de données de base : int

    TableInsertTriggerCount

    Table

    La table comporte le nombre de déclencheurs INSERT spécifié.

    >0 = Nombre de déclencheurs INSERT.

    Type de données de base : int

    TableIsFake

    Table

    La table n'est pas réelle. Elle est matérialisée en interne à la demande par le Moteur de base de données.

    1 = True

    0 = False

    Type de données de base : int

    TableIsLockedOnBulkLoad

    Table

    La table est verrouillée en raison d'un travail bcp ou BULK INSERT.

    1 = True

    0 = False

    Type de données de base : int

    TableIsMemoryOptimized

    Table

    La table est optimisée en mémoire

    1 = True

    0 = False

    Type de données de base : int

    Pour plus d'informations, consultez OLTP en mémoire (optimisation en mémoire).

    S'applique à : SQL Server 2014 et SQL Server 2014.

    TableIsPinned

    Table

    La table est épinglée pour être conservée dans le cache de données.

    0 = False

    Cette fonctionnalité n'est pas prise en charge par SQL Server 2005 et versions ultérieures.

    TableTextInRowLimit

    Table

    L'option text in row est définie pour la table.

    > 0 = Nombre maximal d'octets autorisés pour text in row.

    0 = L'option text in row n'est pas définie.

    Type de données de base : int

    TableUpdateTrigger

    Table

    La table comporte un déclencheur UPDATE.

    > 1 = ID du premier déclencheur du type spécifié.

    Type de données de base : int

    TableUpdateTriggerCount

    Table

    La table comporte le nombre de déclencheurs UPDATE spécifié.

    > 0 = Nombre de déclencheurs UPDATE.

    Type de données de base : int

    UserDataAccess

    Fonction, vue

    Indique que l'objet a accès aux données utilisateur, aux tables utilisateur, dans l'instance locale de SQL Server.

    1 = Lecture

    0 = Aucun

    Type de données de base : int

    TableHasColumnSet

    Table

    La table comporte un jeu de colonnes.

    0 = False

    1 = True

    Pour plus d'informations, consultez Utiliser des jeux de colonnes.

    Cardinality

    Table (système ou définie par l'utilisateur), vue ou index

    Nombre de lignes dans l'objet spécifié.

    S'applique à : SQL Server 2012 et SQL Server 2014.

Types des valeurs retournés

sql_variant

Exceptions

Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.

Un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'une autorisation. Cela signifie que les fonctions intégrées générant des métadonnées, telles que OBJECTPROPERTYEX, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Notes

Le Moteur de base de données considère que object_id se situe dans le contexte de la base de données active. Une requête référençant un object_id dans une autre base de données renverra NULL ou des résultats incorrects. Par exemple, dans la requête qui suit, le contexte de base de données actuel est la base de données master. Le Moteur de base de données va tenter de renvoyer la valeur de propriété de l'identificateur object_id spécifié dans cette base de données et non pas dans la base de données indiquée dans la requête. La requête retourne des résultats incorrects car la vue vEmployee ne se trouve pas dans la base de données master.

USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2012.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTYEX(view_id, 'IsIndexable') peut utiliser un volume important de ressources système, car l'évaluation de la propriété IsIndexable nécessite l'analyse de la définition de la vue, sa normalisation et son optimisation partielle. Bien que la propriété IsIndexable identifie les tables ou les vues qui peuvent être indexées, la création réelle de l'index peut malgré tout échouer si certaines conditions de clé d'index ne sont pas remplies. Pour plus d'informations, consultez CREATE INDEX (Transact-SQL).

OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') retourne la valeur 1 (True) lorsqu'au moins une colonne d'une table est ajoutée pour l'indexation. L'indexation de texte intégral est activée au niveau du remplissage dès l'ajout de la première colonne à indexer.

Des restrictions sur la visibilité des métadonnées sont appliquées à le jeu de résultats. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées.

Exemples

A.Recherche du type de base d'un objet

L'exemple qui suit crée un SYNONYM MyEmployeeTable pour la table Employee de la base de données AdventureWorks2012 , puis renvoie le type de base du SYNONYM.

USE AdventureWorks2012;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO

Le jeu de résultats montre que le type de base de l'objet sous-jacent, la table Employee, est une table utilisateur.

Base Type

--------

U

B.Renvoi d'une valeur de propriété

L'exemple suivant renvoie le nombre de déclencheurs UPDATE sur la table spécifiée.

USE AdventureWorks2012;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO

C.Recherche de tables comportant une contrainte FOREIGN KEY

L'exemple suivant utilise la propriété TableHasForeignKey pour retourner toutes les tables comportant une contrainte FOREIGN KEY.

USE AdventureWorks2012;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects 
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO

Voir aussi

Référence

CREATE SYNONYM (Transact-SQL)

Fonctions de métadonnées (Transact-SQL)

OBJECT_DEFINITION (Transact-SQL)

OBJECT_ID (Transact-SQL)

OBJECT_NAME (Transact-SQL)

sys.objects (Transact-SQL)

ALTER AUTHORIZATION (Transact-SQL)

TYPEPROPERTY (Transact-SQL)