Partager via


OBJECTPROPERTY (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Point de terminaison d’analytique SQL dans Microsoft FabricEntrepôt dans Microsoft FabricBase de données SQL dans Microsoft Fabric

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

Conventions de la syntaxe Transact-SQL

Syntaxe

OBJECTPROPERTY ( ID , property )

Arguments

Identifiant

Expression qui représente l’ID de l’objet dans la base de données active. L’ID est int et est supposé être un objet d’étendue de schéma dans le contexte de base de données actuel.

property

Expression qui représente les informations à renvoyer pour l’objet spécifié par ID. la propriété peut être l’une des valeurs suivantes.

Notes

Sauf indication contraire, NULL est retourné lorsque la propriété n’est pas un nom de propriété valide, que l’ID n’est pas un ID d’objet valide, qu’il s’agit d’un type d’objet non pris en charge pour la propriété spécifiée ou que l’appelant n’a pas l’autorisation d’afficher les métadonnées de l’objet.

Nom de la propriété Type d'objet Description et valeurs retournées
CnstIsClustKey Contrainte PRIMARY KEY contrainte avec un index cluster.

1 = Vrai

0 = Faux
CnstIsColumn Contrainte CHECK, DEFAULTou FOREIGN KEY contrainte sur une seule colonne.

1 = Vrai

0 = Faux
CnstIsDeleteCascade Contrainte FOREIGN KEY contrainte avec l’option ON DELETE CASCADE .

1 = Vrai

0 = Faux
CnstIsDisabled Contrainte Contrainte désactivée.

1 = Vrai

0 = Faux
CnstIsNonclustKey Contrainte PRIMARY KEY ou UNIQUE contrainte avec un index non cluster.

1 = Vrai

0 = Faux
CnstIsNotRepl Contrainte La contrainte est définie à l’aide des NOT FOR REPLICATION mots clés.

1 = Vrai

0 = Faux
CnstIsNotTrusted Contrainte La contrainte a été activée sans vérifier les lignes existantes ; par conséquent, la contrainte peut ne pas contenir pour toutes les lignes.

1 = Vrai

0 = Faux
CnstIsUpdateCascade Contrainte FOREIGN KEY contrainte avec l’option ON UPDATE CASCADE .

1 = Vrai

0 = Faux
ExecIsAfterTrigger Déclencheur AFTER gâchette.

1 = Vrai

0 = Faux
ExecIsAnsiNullsOn Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue Paramètre du moment de ANSI_NULLS la création.

1 = Vrai

0 = Faux
ExecIsDeleteTrigger Déclencheur DELETE gâchette.

1 = Vrai

0 = Faux
ExecIsFirstDeleteTrigger Déclencheur Premier déclencheur déclenché lorsqu’un DELETE déclencheur est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsFirstInsertTrigger Déclencheur Premier déclencheur déclenché lorsqu’un INSERT déclencheur est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsFirstUpdateTrigger Déclencheur Premier déclencheur déclenché lorsqu’un UPDATE déclencheur est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsInsertTrigger Déclencheur INSERT gâchette.

1 = Vrai

0 = Faux
ExecIsInsteadOfTrigger Déclencheur INSTEAD OF gâchette.

1 = Vrai

0 = Faux
ExecIsLastDeleteTrigger Déclencheur Dernier déclencheur déclenché lorsqu’un DELETE est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsLastInsertTrigger Déclencheur Dernier déclencheur déclenché lorsqu’un INSERT déclencheur est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsLastUpdateTrigger Déclencheur Dernier déclencheur déclenché lorsqu’un UPDATE déclencheur est exécuté sur la table.

1 = Vrai

0 = Faux
ExecIsQuotedIdentOn Fonction Transact-SQL, procédure Transact-SQL, déclencheur Transact-SQL, vue Paramètre du moment de QUOTED_IDENTIFIER la création.

1 = Vrai

0 = Faux
ExecIsStartup Procédure Procédure de démarrage.

1 = Vrai

0 = Faux
ExecIsTriggerDisabled Déclencheur Déclencheur désactivé.

1 = Vrai

0 = Faux
ExecIsTriggerNotForRepl Déclencheur Déclencheur défini en tant que NOT FOR REPLICATION.

1 = Vrai

0 = Faux
ExecIsUpdateTrigger Déclencheur UPDATE gâchette.

1 = Vrai

0 = Faux
ExecIsWithNativeCompilation Procédure Transact-SQL S’applique à : SQL Server 2014 (12.x) et ultérieur.

Procédure compilée en mode natif.

1 = Vrai

0 = Faux

Type de données de base : int
HasAfterTrigger Tableau ou vue La table ou la vue a un AFTER déclencheur.

1 = Vrai

0 = Faux
HasDeleteTrigger Tableau ou vue La table ou la vue a un DELETE déclencheur.

1 = Vrai

0 = Faux
HasInsertTrigger Tableau ou vue La table ou la vue a un INSERT déclencheur.

1 = Vrai

0 = Faux
HasInsteadOfTrigger Tableau ou vue La table ou la vue a un INSTEAD OF déclencheur.

1 = Vrai

0 = Faux
HasUpdateTrigger Tableau ou vue La table ou la vue a un UPDATE déclencheur.

1 = Vrai

0 = Faux
IsAnsiNullsOn Fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, vue Spécifie que le paramètre d’option ANSI NULLS de la table est ON. Quand ANSI NULLS est ON, toutes les comparaisons par rapport à une NULL valeur sont évaluées à 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 = Vrai

0 = Faux
IsCheckCnst Tout objet étendu aux schémas CHECK contrainte.

1 = Vrai

0 = Faux
IsConstraint Tout objet étendu aux schémas Est une seule colonne CHECK, DEFAULTou FOREIGN KEY contrainte sur une colonne ou une table.

1 = Vrai

0 = Faux
IsDefault Tout objet étendu aux schémas S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

Valeur par défaut associée.

1 = Vrai

0 = Faux
IsDefaultCnst Tout objet étendu aux schémas DEFAULT contrainte.

1 = Vrai

0 = Faux
IsDeterministic Fonction ou vue Propriété de déterminisme de la fonction ou de la vue.

1 = Déterministe

0 = Non déterministe
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 (9.x). 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 obscurci. Toutefois, le texte est disponible pour les utilisateurs qui peuvent accéder aux tables système via la connexion de diagnostic pour les administrateurs de base de données ou accéder directement aux fichiers de base 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ée

0 = Non chiffrée

Type de données de base : int
IsExecuted Tout objet étendu aux schémas Objet pouvant être exécuté (vue, procédure, fonction ou déclencheur).

1 = Vrai

0 = Faux
IsExtendedProc Tout objet étendu aux schémas Procédure étendue.

1 = Vrai

0 = Faux
IsForeignKey Tout objet étendu aux schémas FOREIGN KEY contrainte.

1 = Vrai

0 = Faux
IsIndexed Tableau ou vue Table ou vue comportant un index.

1 = Vrai

0 = Faux
IsIndexable Tableau ou vue Table ou vue pour laquelle un index peut être créé.

1 = Vrai

0 = Faux
IsInlineFunction Fonction Fonction Inline.

1 = Fonction Inline

0 = Fonction non Inline
IsMSShipped Tout objet étendu aux schémas Objet créé durant l'installation de SQL Server.

1 = Vrai

0 = Faux
IsPrimaryKey Tout objet étendu aux schémas PRIMARY KEY contrainte.

1 = Vrai

0 = Faux

NULL = Pas une fonction, ou l’ID d’objet n’est pas valide.
IsProcedure Tout objet étendu aux schémas Procédure.

1 = Vrai

0 = Faux
IsQuotedIdentOn fonction Transact-SQL, procédure Transact-SQL, table, déclencheur Transact-SQL, affichage, CHECK contrainte, DEFAULT définition Spécifie que le paramètre d’identificateur entre guillemets de l’objet est ON. Cela signifie que des guillemets doubles délimitent les identificateurs dans toutes les expressions impliquées dans la définition de l'objet.

1 = ON

0 = OFF
IsQueue Tout objet étendu aux schémas File d'attente Service Broker

1 = Vrai

0 = Faux
IsReplProc Tout objet étendu aux schémas Procédure de réplication.

1 = Vrai

0 = Faux
IsRule Tout objet étendu aux schémas Règle liée.

1 = Vrai

0 = Faux
IsScalarFunction Fonction Fonction scalaire.

1 = Fonction scalaire

0 = Fonction non scalaire
IsSchemaBound Fonction ou vue Fonction ou vue liée au schéma créée à l’aide SCHEMABINDINGde .

1 = Fonction liée à un schéma

0 = Non liée à un schéma
IsSystemTable Table de charge de travail Table système.

1 = Vrai

0 = Faux
IsSystemVerified Object SQL Server peut vérifier les propriétés de déterminisme et de précision de l’objet.

1 = Vrai

0 = Faux
IsTable Table de charge de travail Table.

1 = Vrai

0 = Faux
IsTableFunction Fonction Fonction table.

1 = Fonction table

0 = Fonction non-table
IsTrigger Tout objet étendu aux schémas Déclencheur.

1 = Vrai

0 = Faux
IsUniqueCnst Tout objet étendu aux schémas UNIQUE contrainte.

1 = Vrai

0 = Faux
IsUserTable Table de charge de travail Table définie par l'utilisateur.

1 = Vrai

0 = Faux
IsView Vue Vue.

1 = Vrai

0 = Faux
OwnerId Tout objet étendu aux schémas Propriétaire de l'objet.

Remarque : 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 n’est pas null) retournent toujours le même ID de propriétaire que le parent.

Non null = ID d’utilisateur de base de données du propriétaire de l’objet.
SchemaId Tout objet étendu aux schémas ID du schéma auquel appartient l’objet.
TableDeleteTrigger Table de charge de travail La table a un DELETE déclencheur.

>1 = ID du premier déclencheur du type spécifié.
TableDeleteTriggerCount Table de charge de travail La table a le nombre spécifié de DELETE déclencheurs.

>0 = Nombre de DELETE déclencheurs.
TableFullTextMergeStatus Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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.
TableFullTextBackgroundUpdateIndexOn Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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

1 = TRUE

0 = FALSE
TableFulltextCatalogId Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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.
TableFulltextChangeTrackingOn Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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

1 = TRUE

0 = FALSE
TableFulltextDocsProcessed Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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 = une des valeurs suivantes (A ou B) : A) 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. B) Nombre de lignes traitées par les opérations d’insertion ou de mise à jour depuis l’activation du suivi des modifications avec la population d’index de mise à jour en arrière-plan, le schéma d’index de texte intégral a changé, le catalogue de texte intégral reconstruit ou l’instance de SQL Server redémarrée.

NULL = La table n’a pas d’index de texte intégral.

Cette propriété ne contrôle pas et ne compte pas les lignes supprimées.
TableFulltextFailCount Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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

0 = La population est terminée.

> 0 = une des valeurs suivantes (A ou B) : A) 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. B) Dans le cas d’un suivi des modifications avec index de mise à jour en 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. Cela peut être causé par une modification du schéma, une reconstruction du catalogue, un redémarrage du serveur, etc.

NULL = La table n’a pas d’index de texte intégral.
TableFulltextItemCount Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

Nombre de lignes dont l'indexation de texte intégral a réussi.
TableFulltextKeyColumn Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

ID de la colonne associée à l'index de colonne unique qui fait partie de la définition de l'indexation de texte intégral.

0 = Table sans index de recherche en texte intégral.
TableFulltextPendingChanges Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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

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

NULL = La table n’a pas d’index de texte intégral.
TableFulltextPopulateStatus Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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.
TableHasActiveFulltextIndex Table de charge de travail S’applique à : SQL Server 2008 (10.0.x) et ultérieur.

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

1 = Vrai

0 = Faux
TableHasCheckCnst Table de charge de travail La table a une CHECK contrainte.

1 = Vrai

0 = Faux
TableHasClustIndex Table de charge de travail La table comporte un index cluster.

1 = Vrai

0 = Faux
TableHasDefaultCnst Table de charge de travail La table a une DEFAULT contrainte.

1 = Vrai

0 = Faux
TableHasDeleteTrigger Table de charge de travail La table a un DELETE déclencheur.

1 = Vrai

0 = Faux
TableHasForeignKey Table de charge de travail La table a une FOREIGN KEY contrainte.

1 = Vrai

0 = Faux
TableHasForeignRef Table de charge de travail La table est référencée par une FOREIGN KEY contrainte.

1 = Vrai

0 = Faux
TableHasIdentity Table de charge de travail La table comporte une colonne d'identité.

1 = Vrai

0 = Faux
TableHasIndex Table de charge de travail La table comporte un index de type non défini.

1 = Vrai

0 = Faux
TableHasInsertTrigger Table de charge de travail L’objet a un INSERT déclencheur.

1 = Vrai

0 = Faux
TableHasNonclustIndex Table de charge de travail La table comporte un index non-cluster.

1 = Vrai

0 = Faux
TableHasPrimaryKey Table de charge de travail La table comporte une clé primaire.

1 = Vrai

0 = Faux
TableHasRowGuidCol Table de charge de travail La table a une ROWGUIDCOL colonne uniqueidentifier .

1 = Vrai

0 = Faux
TableHasTextImage Table de charge de travail La table comporte une colonne text, ntext ou image.

1 = Vrai

0 = Faux
TableHasTimestamp Table de charge de travail La table comporte une colonne timestamp.

1 = Vrai

0 = Faux
TableHasUniqueCnst Table de charge de travail La table a une UNIQUE contrainte.

1 = Vrai

0 = Faux
TableHasUpdateTrigger Table de charge de travail L’objet a un UPDATE déclencheur.

1 = Vrai

0 = Faux
TableHasVarDecimalStorageFormat Table de charge de travail La table est activée pour le format de stockage vardecimal.

1 = Vrai

0 = Faux
TableInsertTrigger Table de charge de travail La table a un INSERT déclencheur.

>1 = ID du premier déclencheur du type spécifié.
TableInsertTriggerCount Table de charge de travail La table a le nombre spécifié de INSERT déclencheurs.

>0 = Nombre de INSERT déclencheurs.
TableIsFake Table de charge de travail La table n'est pas réelle. Elle est matérialisée en interne à la demande par le Moteur de base de données SQL Server.

1 = Vrai

0 = Faux
TableIsLockedOnBulkLoad Table de charge de travail La table est verrouillée en raison d’un bcp ou BULK INSERT d’un travail.

1 = Vrai

0 = Faux
TableIsMemoryOptimized Table de charge de travail S’applique à : SQL Server 2014 (12.x) et ultérieur.

La table est optimisée en mémoire

1 = Vrai

0 = Faux

Type de données de base : int

Pour plus d’informations, consultez In-Memory vue d’ensemble d’OLTP et les scénarios d’utilisation.
TableIsPinned Table de charge de travail La table est épinglée pour être conservée dans le cache de données.

0 = Faux

Cette fonctionnalité n’est pas prise en charge dans SQL Server 2005 (9.x) et les versions ultérieures.
TableTextInRowLimit Table de charge de travail Nombre maximal d'octets autorisé pour text in row.

0 si l'option text in row n'est pas définie.
TableUpdateTrigger Table de charge de travail La table a un UPDATE déclencheur.

> 1 = ID du premier déclencheur du type spécifié.
TableUpdateTriggerCount Table de charge de travail La table contient le nombre spécifié de UPDATE déclencheurs.

> 0 = Nombre de UPDATE déclencheurs.
TableHasColumnSet Table de charge de travail La table comporte un jeu de colonnes.

0 = Faux

1 = Vrai

Pour plus d’informations, consultez Utiliser des jeux de colonnes.
TableTemporalType Table de charge de travail S’applique à : SQL Server 2016 (13.x) et versions ultérieures.

Spécifie le type de table.

0 = table non temporelle

1 = table historique de la table à système par version

2 = table temporelle à système par version

Types de retour

int

Exceptions

Retourne NULL une erreur ou si un appelant n’a pas l’autorisation d’afficher l’objet.

Autorisations

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 émettrices de métadonnées, telles que OBJECTPROPERTY le retour NULL , si l’utilisateur n’a pas d’autorisation sur l’objet. Pour plus d’informations, consultez la configuration de la visibilité des métadonnées.

Remarques

Moteur de base de données considère que object_id se situe dans le contexte de la base de données active. Requête qui fait référence à une object_id dans une autre base de données retourne ou produit NULL des résultats incorrects. Par exemple, dans la requête suivante, le contexte de base de données actuel est la master base de données. Le moteur de base de données tente de renvoyer la valeur de propriété de la object_id spécifiée dans cette base de données au lieu de la base de données spécifiée dans la requête. La requête retourne des résultats incorrects, car la vue vEmployee n’est pas dans la master base de données.

USE master;
GO
SELECT OBJECTPROPERTY(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO

OBJECTPROPERTY(view_id, 'IsIndexable') peut consommer des ressources informatiques importantes, car l’évaluation de la propriété IsIndexable nécessite l’analyse de la définition de vue, de la normalisation et de l’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).

OBJECTPROPERTY(table_id, 'TableHasActiveFulltextIndex') retourne une valeur de 1 (true) quand 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.

Lorsqu’une table est créée, l’option QUOTED IDENTIFIER est toujours stockée comme ON dans les métadonnées de la table, même si l’option est définie OFF lorsque la table est créée. Par conséquent, OBJECTPROPERTY(table_id, 'IsQuotedIdentOn') retourne toujours une valeur ( 1 true).

Exemples

R. Vérifier qu’un objet est une table

L'exemple suivant teste si UnitMeasure est une table dans la base de données AdventureWorks2025.

USE AdventureWorks2022;
GO
IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 1
   PRINT 'UnitMeasure is a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') = 0
   PRINT 'UnitMeasure is not a table.'
ELSE IF OBJECTPROPERTY (OBJECT_ID(N'Production.UnitMeasure'),'ISTABLE') IS NULL
   PRINT 'ERROR: UnitMeasure is not a valid object.';
GO

B. Vérifier qu’une fonction scalaire définie par l’utilisateur est déterministe

L’exemple suivant teste si la fonction ufnGetProductDealerPrice (à valeur scalaire et définie par l’utilisateur), qui retourne une valeur money, est déterministe.

USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTY(OBJECT_ID('dbo.ufnGetProductDealerPrice'), 'IsDeterministic');
GO

Le jeu de résultats révèle que ufnGetProductDealerPrice n'est pas une fonction déterministe.

-----
0

C : Rechercher les tables qui appartiennent à un schéma spécifique

L’exemple suivant retourne toutes les tables du dbo schéma.

-- Uses AdventureWorks

SELECT schema_name(o.schema_id), o.name, o.object_id, o.type_desc
FROM sys.objects AS o
WHERE OBJECTPROPERTY(o.object_id, N'SchemaId') = SCHEMA_ID(N'dbo')
ORDER BY o.type_desc, o.name;
GO

Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)

D. Vérification qu’un objet est une table

L’exemple suivant teste si dbo.DimReseller est une table dans la base de données AdventureWorksPDW2022.

-- Uses AdventureWorks

IF OBJECTPROPERTY (OBJECT_ID(N'dbo.DimReseller'),'ISTABLE') = 1
   SELECT 'DimReseller is a table.'
ELSE
   SELECT 'DimReseller is not a table.';
GO