OBJECTPROPERTYEX (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Devuelve información acerca de los objetos de ámbito de esquema de la base de datos actual. Para obtener una lista de estos objetos, vea sys.objects (Transact-SQL). OBJECTPROPERTYEX no se puede utilizar con los objetos que no pertenecen al ámbito de esquema, como los desencadenadores de lenguaje de definición de datos (DDL) y las notificaciones de eventos.
Convenciones de sintaxis de Transact-SQL
Sintaxis
OBJECTPROPERTYEX ( id , property )
Argumentos
id
Es una expresión que representa el identificador del objeto en la base de datos actual. id es de tipo int y se considera que se trata de un objeto de ámbito de esquema en el contexto de la base de datos actual.
property
Es una expresión que contiene la información sobre el objeto especificado por el identificador que se va a devolver. El tipo de valor devuelto es sql_variant. En la siguiente tabla se muestra el tipo de datos base de cada valor de propiedad.
Nota
A menos que se especifique lo contrario, se devuelve NULL si property no es un nombre de propiedad válido, id no es un identificador de objeto válido, id es un tipo de objeto incompatible con el valor property especificado o el autor de la llamada no tiene permiso para ver los metadatos del objeto.
Nombre de propiedad | Tipo de objeto | Descripción y valores devueltos |
---|---|---|
BaseType | Cualquier objeto en el ámbito de esquema | Identifica el tipo base del objeto. Cuando el objeto especificado es un sinónimo, se devuelve el tipo base del objeto subyacente. NonNULL = Tipo de objeto Tipo de datos base: char(2) |
CnstIsClustKey | Restricción | Restricción PRIMARY KEY con un índice clúster. 1 = True 0 = False Tipo de datos base: int |
CnstIsColumn | Restricción | Restricción CHECK, DEFAULT o FOREIGN KEY en una única columna. 1 = True 0 = False Tipo de datos base: int |
CnstIsDeleteCascade | Restricción | Restricción FOREIGN KEY con la opción ON DELETE CASCADE. 1 = True 0 = False Tipo de datos base: int |
CnstIsDisabled | Restricción | Restricción deshabilitada. 1 = True 0 = False Tipo de datos base: int |
CnstIsNonclustKey | Restricción | Restricción PRIMARY KEY con un índice no clúster. 1 = True 0 = False Tipo de datos base: int |
CnstIsNotRepl | Restricción | La restricción se define utilizando las palabras clave NOT FOR REPLICATION. 1 = True 0 = False Tipo de datos base: int |
CnstIsNotTrusted | Restricción | La restricción se ha habilitado sin comprobar las filas existentes. Por lo tanto, es posible que no pueda mantenerse para todas las filas. 1 = True 0 = False Tipo de datos base: int |
CnstIsUpdateCascade | Restricción | Restricción FOREIGN KEY con la opción ON UPDATE CASCADE. 1 = True 0 = False Tipo de datos base: int |
ExecIsAfterTrigger | Desencadenador | Desencadenador AFTER. 1 = True 0 = False Tipo de datos base: int |
ExecIsAnsiNullsOn | Función de Transact-SQL, procedimiento de Transact-SQL, desencadenador de Transact-SQL, vista | El valor de ANSI_NULLS en el momento de su creación. 1 = True 0 = False Tipo de datos base: int |
ExecIsDeleteTrigger | Desencadenador | Desencadenador DELETE. 1 = True 0 = False Tipo de datos base: int |
ExecIsFirstDeleteTrigger | Desencadenador | El primer desencadenador que se activa cuando se ejecuta DELETE en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsFirstInsertTrigger | Desencadenador | El primer desencadenador que se activa cuando se ejecuta INSERT en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsFirstUpdateTrigger | Desencadenador | El primer desencadenador que se activa cuando se ejecuta UPDATE en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsInsertTrigger | Desencadenador | Desencadenador INSERT. 1 = True 0 = False Tipo de datos base: int |
ExecIsInsteadOfTrigger | Desencadenador | Desencadenador INSTEAD OF. 1 = True 0 = False Tipo de datos base: int |
ExecIsLastDeleteTrigger | Desencadenador | Último desencadenador que se activa cuando se ejecuta DELETE en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsLastInsertTrigger | Desencadenador | Último desencadenador que se activa cuando se ejecuta INSERT en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsLastUpdateTrigger | Desencadenador | Último desencadenador que se activa cuando se ejecuta UPDATE en la tabla. 1 = True 0 = False Tipo de datos base: int |
ExecIsQuotedIdentOn | Función de Transact-SQL, procedimiento de Transact-SQL, desencadenador de Transact-SQL, vista | Valor de QUOTED_IDENTIFIER en el momento de su creación. 1 = True 0 = False Tipo de datos base: int |
ExecIsStartup | Procedimiento | Procedimiento de inicio. 1 = True 0 = False Tipo de datos base: int |
ExecIsTriggerDisabled | Desencadenador | Desencadenador deshabilitado. 1 = True 0 = False Tipo de datos base: int |
ExecIsTriggerNotForRepl | Desencadenador | Desencadenador definido como NOT FOR REPLICATION. 1 = True 0 = False Tipo de datos base: int |
ExecIsUpdateTrigger | Desencadenador | Desencadenador UPDATE. 1 = True 0 = False Tipo de datos base: int |
ExecIsWithNativeCompilation | Procedimiento de Transact-SQL | Válido para : SQL Server 2014 (12.x) y versiones posteriores. El procedimiento se compila de forma nativa. 1 = True 0 = False Tipo de datos base: int |
HasAfterTrigger | Tabla, vista | La tabla o la vista tiene un desencadenador AFTER. 1 = True 0 = False Tipo de datos base: int |
HasDeleteTrigger | Tabla, vista | La tabla o la vista tiene un desencadenador DELETE. 1 = True 0 = False Tipo de datos base: int |
HasInsertTrigger | Tabla, vista | La tabla o la vista tiene un desencadenador INSERT. 1 = True 0 = False Tipo de datos base: int |
HasInsteadOfTrigger | Tabla, vista | La tabla o la vista tiene un desencadenador INSTEAD OF. 1 = True 0 = False Tipo de datos base: int |
HasUpdateTrigger | Tabla, vista | La tabla o la vista tiene un desencadenador UPDATE. 1 = True 0 = False Tipo de datos base: int |
IsAnsiNullsOn | Función de Transact-SQL, procedimiento de Transact-SQL, tabla, desencadenador de Transact-SQL, vista | Especifica que el valor de la opción ANSI NULLS para la tabla es ON, lo que significa que todas las comparaciones con un valor NULL se evalúan como UNKNOWN. Este valor se aplica a todas las expresiones de la definición de tabla, incluidas las columnas calculadas y las restricciones, mientras la tabla exista. 1 = True 0 = False Tipo de datos base: int |
IsCheckCnst | Cualquier objeto en el ámbito de esquema | Restricción CHECK. 1 = True 0 = False Tipo de datos base: int |
IsConstraint | Cualquier objeto en el ámbito de esquema | Restricción. 1 = True 0 = False Tipo de datos base: int |
IsDefault | Cualquier objeto en el ámbito de esquema | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Valor predeterminado enlazado. 1 = True 0 = False Tipo de datos base: int |
IsDefaultCnst | Cualquier objeto en el ámbito de esquema | Restricción DEFAULT. 1 = True 0 = False Tipo de datos base: int |
IsDeterministic | Funciones escalares y con valores de tabla, vista | Propiedad de determinismo de la función o vista. 1 = Determinista 0 = No determinista Tipo de datos base: int |
IsEncrypted | Función de Transact-SQL, procedimiento de Transact-SQL, tabla, desencadenador de Transact-SQL, vista | Indica que el texto original de la instrucción del módulo se ha convertido a un formato confuso. La salida de la protección no es directamente visible en ninguna de las vistas de catálogo de SQL Server 2005 (9.x). Los usuarios sin acceso a las tablas del sistema o a los archivos de base de datos no pueden recuperar el texto ofuscado. En cambio, está disponible para los usuarios que puedan obtener acceso a las tablas del sistema a través del puerto DAC o directamente a los archivos de base de datos. Además, los usuarios que pueden adjuntar un depurador al proceso del servidor pueden recuperar el procedimiento original de la memoria en tiempo de ejecución. 1 = Cifrada 0 = No cifrado Tipo de datos base: int |
IsExecuted | Cualquier objeto en el ámbito de esquema | Especifica que el objeto se puede ejecutar (vista, procedimiento, función o desencadenador). 1 = True 0 = False Tipo de datos base: int |
IsExtendedProc | Cualquier objeto en el ámbito de esquema | Procedimiento extendido. 1 = True 0 = False Tipo de datos base: int |
IsForeignKey | Cualquier objeto en el ámbito de esquema | Restricción FOREIGN KEY. 1 = True 0 = False Tipo de datos base: int |
IsIndexed | Tabla, vista | Una tabla o vista con un índice. 1 = True 0 = False Tipo de datos base: int |
IsIndexable | Tabla, vista | Una tabla o una vista en la que es posible crear un índice. 1 = True 0 = False Tipo de datos base: int |
IsInlineFunction | Función | Función insertada. 1 = Función insertada 0 = Función no insertada Tipo de datos base: int |
IsMSShipped | Cualquier objeto en el ámbito de esquema | Un objeto creado durante la instalación de SQL Server. 1 = True 0 = False Tipo de datos base: int |
IsPrecise | Columna calculada, función, tipo definido por el usuario, vista | Indica si el objeto contiene un cálculo impreciso, como una operación de punto flotante. 1 = Preciso 0 = Impreciso Tipo de datos base: int |
IsPrimaryKey | Cualquier objeto en el ámbito de esquema | Restricción PRIMARY KEY. 1 = True 0 = False Tipo de datos base: int |
IsProcedure | Cualquier objeto en el ámbito de esquema | Procedimiento. 1 = True 0 = False Tipo de datos base: int |
IsQuotedIdentOn | Restricción CHECK, definición DEFAULT, función de Transact-SQL, procedimiento de Transact-SQL, tabla, desencadenador de Transact-SQL, vista | Especifica que el valor del identificador entrecomillado para el objeto es ON, lo que significa que las comillas dobles delimitan los identificadores en todas las expresiones de la definición de objeto. 1 = True 0 = False Tipo de datos base: int |
IsQueue | Cualquier objeto en el ámbito de esquema | Cola de Service Broker 1 = True 0 = False Tipo de datos base: int |
IsReplProc | Cualquier objeto en el ámbito de esquema | Procedimiento de replicación. 1 = True 0 = False Tipo de datos base: int |
IsRule | Cualquier objeto en el ámbito de esquema | Regla enlazada. 1 = True 0 = False Tipo de datos base: int |
IsScalarFunction | Función | Función escalar. 1 = Función escalar 0 = Función no escalar Tipo de datos base: int |
IsSchemaBound | Función, procedimiento y vista | Función o vista enlazada al esquema creada mediante SCHEMABINDING. 1 = Enlazada al esquema 0 = No enlazada al esquema Tipo de datos base: int |
IsSystemTable | Tabla | Tabla del sistema. 1 = True 0 = False Tipo de datos base: int |
IsSystemVerified | Columna calculada, función, tipo definido por el usuario, vista | SQL Server puede comprobar las propiedades de precisión y determinismo del objeto. 1 = True 0 = False Tipo de datos base: int |
IsTable | Tabla | Tabla. 1 = True 0 = False Tipo de datos base: int |
IsTableFunction | Función | Función con valores de tabla. 1 = Función con valores de tabla 0 = Función con valores no de tabla. Tipo de datos base: int |
IsTrigger | Cualquier objeto en el ámbito de esquema | Desencadenador. 1 = True 0 = False Tipo de datos base: int |
IsUniqueCnst | Cualquier objeto en el ámbito de esquema | Restricción UNIQUE. 1 = True 0 = False Tipo de datos base: int |
IsUserTable | Tabla | Tabla definida por el usuario. 1 = True 0 = False Tipo de datos base: int |
IsView | Ver | Vista. 1 = True 0 = False Tipo de datos base: int |
OwnerId | Cualquier objeto en el ámbito de esquema | Propietario del objeto. Nota: El propietario del esquema no es necesariamente el propietario del objeto. Por ejemplo, los objetos secundarios (aquellos en los que parent_object_id no es NULL) siempre devolverán el mismo identificador de propietario que el primario. NonNULL = Id. de usuario de la base de datos del propietario del objeto. NULL = Tipo de objeto no compatible o identificador de objeto no válido. Tipo de datos base: int |
SchemaId | Cualquier objeto en el ámbito de esquema | Identificador de esquema asociado al objeto. NonNULL = Identificador de esquema del objeto. Tipo de datos base: int |
SystemDataAccess | Función, vista | El objeto obtiene acceso a los datos del sistema, los catálogos del sistema o las tablas virtuales del sistema en la instancia local de SQL Server. 0 = Ninguna 1 = Lectura Tipo de datos base: int |
TableDeleteTrigger | Tabla | La tabla tiene un desencadenador DELETE. >1 = Id. del primer desencadenador con el tipo especificado. Tipo de datos base: int |
TableDeleteTriggerCount | Tabla | La tabla tiene el número especificado de desencadenadores DELETE. NonNULL = Número de desencadenadores DELETE Tipo de datos base: int |
TableFullTextMergeStatus | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Indica si una tabla que tiene un índice de texto completo se está combinando actualmente. 0 = La tabla no tiene un índice de texto completo o el índice de texto completo no se está combinando. 1 = El índice de texto completo se está combinando. |
TableFullTextBackgroundUpdateIndexOn | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. La tabla tiene habilitado el índice de actualización de texto completo en segundo plano (seguimiento de cambios automáticos). 1 = TRUE 0 = False Tipo de datos base: int |
TableFulltextCatalogId | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Identificador del catálogo de texto completo en el que residen los datos de índice de texto completo para la tabla. Distinto de cero = Identificador del catálogo de texto completo, asociado al índice único que identifica las filas en una tabla indizada de texto completo. 0 = La tabla no tiene un índice de texto completo. Tipo de datos base: int |
TableFullTextChangeTrackingOn | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. La tabla tiene habilitado el seguimiento de cambios de texto completo. 1 = TRUE 0 = False Tipo de datos base: int |
TableFulltextDocsProcessed | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Número de filas procesadas desde el comienzo de la indización de texto completo. En una tabla que se indiza para búsquedas en texto completo, todas las columnas de una fila se consideran como parte de un documento que se va a indizar. 0 = No se ha completado ningún rastreo activo ni ninguna indización de texto completo. > 0 = Uno de los casos siguientes (A o B): A) El número de documentos procesados por operaciones de inserción o actualización desde el inicio del rellenado de seguimiento de cambios completo, incremental o manual; B) El número de filas procesadas por operaciones de inserción o actualización desde que se habilitó el seguimiento de cambios con el rellenado del índice de actualización en segundo plano, la modificación del esquema de índice de texto completo, la regeneración del catálogo de texto completo o el reinicio de la instancia de SQL Server, etc. NULL = La tabla no tiene un índice de texto completo. Tipo de datos base: int Nota: Esta propiedad no supervisa ni cuenta las filas eliminadas. |
TableFulltextFailCount | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Número de filas que no ha indizado la búsqueda de texto completo. 0 = El rellenado se ha completado. >0 = Uno de los casos siguientes (A o B): A) Número de documentos no indizados desde el comienzo del rellenado de seguimiento de cambios de actualización completa, incremental y manual; B) Para el seguimiento de cambios con actualización de índices en segundo plano, el número de filas no indizadas desde el comienzo del rellenado o desde su reinicio. Esto podría ser debido a un cambio de esquema, una regeneración del catálogo, un reinicio del servidor, etc. NULL = La tabla no tiene un índice de texto completo. Tipo de datos base: int |
TableFulltextItemCount | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. NonNULL = El número de filas que se han indizado por texto completo correctamente. NULL = La tabla no tiene un índice de texto completo. Tipo de datos base: int |
TableFulltextKeyColumn | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Identificador de la columna asociada al índice único de una sola columna que forma parte de la definición de un índice de texto completo y un índice semántico. 0 = La tabla no tiene un índice de texto completo. Tipo de datos base: int |
TableFulltextPendingChanges | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. Número de entradas de seguimiento de cambios pendientes de procesamiento. 0 = El seguimiento de cambios no está habilitado. NULL = La tabla no tiene un índice de texto completo. Tipo de datos base: int |
TableFulltextPopulateStatus | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. 0 = Inactiva 1 = Rellenado completo en curso. 2 = Rellenado incremental en curso. 3 = Propagación de cambios de seguimiento en curso. 4 = Actualización de índices en segundo plano en curso, como el seguimiento de cambios automáticos. 5 = Indización de texto completo acelerada o pausada. 6 = Se produjo un error. Examine el registro de rastreo para obtener más información. Para obtener más información, consulte la sección Solución de errores en un rellenado de texto completo (rastreo) de Rellenar índices de texto completo. Tipo de datos base: int |
TableFullTextSemanticExtraction | Tabla | Válido para : SQL Server 2012 (11.x) y versiones posteriores. La tabla está habilitada para la indización semántica. 1 = True 0 = False Tipo de datos base: int |
TableHasActiveFulltextIndex | Tabla | Se aplica a: SQL Server 2008 (10.0.x) y versiones posteriores. La tabla tiene un índice de texto completo activo. 1 = True 0 = False Tipo de datos base: int |
TableHasCheckCnst | Tabla | La tabla tiene una restricción CHECK. 1 = True 0 = False Tipo de datos base: int |
TableHasClustIndex | Tabla | La tabla tiene un índice clúster. 1 = True 0 = False Tipo de datos base: int |
TableHasDefaultCnst | Tabla | La tabla tiene una restricción DEFAULT. 1 = True 0 = False Tipo de datos base: int |
TableHasDeleteTrigger | Tabla | La tabla tiene un desencadenador DELETE. 1 = True 0 = False Tipo de datos base: int |
TableHasForeignKey | Tabla | La tabla tiene una restricción FOREIGN KEY. 1 = True 0 = False Tipo de datos base: int |
TableHasForeignRef | Tabla | Una restricción FOREIGN KEY hace referencia a la tabla. 1 = True 0 = False Tipo de datos base: int |
TableHasIdentity | Tabla | La tabla tiene una columna de identidad. 1 = True 0 = False Tipo de datos base: int |
TableHasIndex | Tabla | La tabla tiene un índice de cualquier tipo. 1 = True 0 = False Tipo de datos base: int |
TableHasInsertTrigger | Tabla | El objeto tiene un desencadenador INSERT. 1 = True 0 = False Tipo de datos base: int |
TableHasNonclustIndex | Tabla | La tabla tiene un índice no agrupado. 1 = True 0 = False Tipo de datos base: int |
TableHasPrimaryKey | Tabla | La tabla tiene una clave principal. 1 = True 0 = False Tipo de datos base: int |
TableHasRowGuidCol | Tabla | La tabla tiene un parámetro ROWGUIDCOL para una columna uniqueidentifier. 1 = True 0 = False Tipo de datos base: int |
TableHasTextImage | Tabla | La tabla tiene una columna text, ntext o image. 1 = True 0 = False Tipo de datos base: int |
TableHasTimestamp | Tabla | La tabla tiene una columna timestamp. 1 = True 0 = False Tipo de datos base: int |
TableHasUniqueCnst | Tabla | La tabla tiene una restricción UNIQUE. 1 = True 0 = False Tipo de datos base: int |
TableHasUpdateTrigger | Tabla | El objeto tiene un desencadenador UPDATE. 1 = True 0 = False Tipo de datos base: int |
TableHasVarDecimalStorageFormat | Tabla | La tabla está habilitada para el formato de almacenamiento vardecimal. 1 = True 0 = False |
TableInsertTrigger | Tabla | La tabla tiene un desencadenador INSERT. >1 = Id. del primer desencadenador con el tipo especificado. Tipo de datos base: int |
TableInsertTriggerCount | Tabla | La tabla tiene el número especificado de desencadenadores INSERT. >0 = Número de desencadenadores INSERT. Tipo de datos base: int |
TableIsFake | Tabla | La tabla no es real. El Motor de base de datos la materializa internamente a petición. 1 = True 0 = False Tipo de datos base: int |
TableIsLockedOnBulkLoad | Tabla | La tabla está bloqueada debido a un trabajo bcp o BULK INSERT. 1 = True 0 = False Tipo de datos base: int |
TableIsMemoryOptimized | Tabla | Válido para : SQL Server 2014 (12.x) y versiones posteriores. La tabla tiene optimización para memoria 1 = True 0 = False Tipo de datos base: int Para obtener más información, vea OLTP en memoria (optimización en memoria). |
TableIsPinned | Tabla | La tabla se ancla para que se mantenga en la memoria caché de datos. 0 = False Esta característica no se admite en SQL Server 2005 (9.x) ni en versiones posteriores. |
TableTextInRowLimit | Tabla | La tabla tiene establecida la opción text in row. > 0 = Número máximo de bytes permitidos para text in row. 0 = La opción text in row no está establecida. Tipo de datos base: int |
TableUpdateTrigger | Tabla | La tabla tiene un desencadenador UPDATE. > 1 = Identificador del primer desencadenador con el tipo especificado. Tipo de datos base: int |
TableUpdateTriggerCount | Tabla | La tabla tiene el número especificado de desencadenadores UPDATE. > 0 = Número de desencadenadores UPDATE. Tipo de datos base: int |
UserDataAccess | Función, vista | Indica que el objeto obtiene acceso a datos y tablas de usuario en la instancia local de SQL Server. 1 = Lectura 0 = Ninguna Tipo de datos base: int |
TableHasColumnSet | Tabla | La tabla tiene un conjunto de columnas. 0 = False 1 = True Para obtener más información, vea Usar conjuntos de columnas. |
Cardinalidad | Tabla (del sistema o definida por el usuario), vista o índice | Válido para : SQL Server 2012 (11.x) y versiones posteriores. El número de filas del objeto especificado. |
TableTemporalType | Tabla | Válido para : SQL Server 2016 (13.x) y versiones posteriores. Especifica el tipo de tabla. 0 = tabla no temporal 1 = tabla de historial para la tabla con control de versiones del sistema 2 = tabla temporal con control de versiones del sistema |
Tipos de valor devuelto
sql_variant
Excepciones
Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.
Un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esto significa que las funciones integradas de emisión de metadatos, como OBJECTPROPERTYEX, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, consulte Metadata Visibility Configuration.
Comentarios
El Motor de base de datos da por hecho que object_id se encuentra en el contexto de la base de datos actual. Una consulta que hace referencia a un parámetro object_id de otra base de datos devuelve NULL o resultados incorrectos. Por ejemplo, en la siguiente consulta, el contexto de base de datos es la base de datos maestra. El Motor de base de datos intentará devolver el valor de propiedad correspondiente al object_id especificado en esa base de datos, en lugar de la base de datos que se especifica en la consulta. La consulta devuelve resultados incorrectos porque la vista vEmployee
no se encuentra en la base de datos maestra.
USE master;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'AdventureWorks2022.HumanResources.vEmployee'), 'IsView');
GO
OBJECTPROPERTYEX(view_id, 'IsIndexable') puede consumir importantes recursos del equipo porque la evaluación de la propiedad IsIndexable requiere el análisis de la definición de la vista, la normalización y la optimización parcial. Aunque la propiedad IsIndexable identifica tablas o vistas que se pueden indizar, es posible que se produzca un error en la creación real del índice si no se cumplen ciertos requisitos de clave de índice. Para más información, consulte CREATE INDEX (Transact-SQL).
OBJECTPROPERTYEX (table_id, 'TableHasActiveFulltextIndex') devolverá el valor 1 (verdadero) si se agrega al menos una columna de una tabla para la indización. El índice de texto completo se activa para su llenado en el momento en que se agrega la primera columna para la indización.
Se aplican restricciones sobre la visibilidad de los metadatos al conjunto de resultados. Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos
A. Buscar el tipo base de un objeto
En el siguiente ejemplo se crea un sinónimo MyEmployeeTable
para la tabla Employee
de la base de datos AdventureWorks2022
y, a continuación, se devuelve el tipo base del sinónimo.
USE AdventureWorks2022;
GO
CREATE SYNONYM MyEmployeeTable FOR HumanResources.Employee;
GO
SELECT OBJECTPROPERTYEX ( object_id(N'MyEmployeeTable'), N'BaseType')AS [Base Type];
GO
El conjunto de resultados muestra que el tipo base del objeto subyacente, la tabla Employee
, es una tabla de usuario.
Base Type
--------
U
B. Devolver un valor de propiedad
En el siguiente ejemplo se devuelve el número de desencadenadores UPDATE de la tabla especificada.
USE AdventureWorks2022;
GO
SELECT OBJECTPROPERTYEX(OBJECT_ID(N'HumanResources.Employee'), N'TABLEUPDATETRIGGERCOUNT');
GO
C. Buscar tablas que tengan una restricción FOREIGN KEY
En el ejemplo siguiente se utiliza la propiedad TableHasForeignKey
para devolver todas las tablas que tengan una restricción FOREIGN KEY.
USE AdventureWorks2022;
GO
SELECT name, object_id, schema_id, type_desc
FROM sys.objects
WHERE OBJECTPROPERTYEX(object_id, N'TableHasForeignKey') = 1
ORDER BY name;
GO
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
D. Buscar el tipo base de un objeto
En el ejemplo siguiente se devuelve el tipo de objeto dbo.DimReseller
de base.
-- Uses AdventureWorks
SELECT OBJECTPROPERTYEX ( object_id(N'dbo.DimReseller'), N'BaseType')AS BaseType;
El conjunto de resultados muestra que el tipo base del objeto subyacente, la tabla dbo.DimReseller
, es una tabla de usuario.
BaseType
--------
U
Vea también
CREATE SYNONYM (Transact-SQL)
Funciones de metadatos (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)