Compartir a través de


IS_OBJECTSIGNED (Transact-SQL)

Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance

Indica si un objeto está firmado por un certificado o clave asimétrica especificados.

Convenciones de sintaxis de Transact-SQL

Sintaxis

IS_OBJECTSIGNED (   
'OBJECT', @object_id, @class, @thumbprint  
  )   

Argumentos

'OBJECT'
Tipo de la clase protegible.

@object_id
Valor object_id del objeto que se va a probar. @object_id es de tipo int.

@class
Clase del objeto:

  • 'certificado'

  • 'clave asimétrica'

@class essysname.

@thumbprint
Huella digital SHA del objeto. @thumbprint es de tipo varbinary(32).

Tipos devueltos

int

Observaciones

IS_OBJECTSIGNED devuelve los siguientes valores.

Valor devuelto Descripción
NULL El objeto no está firmado o no es válido.
0 El objeto está firmado, pero la firma no es válida.
1 El objeto está firmado.

Permisos

Se requiere VIEW DEFINITION sobre el certificado o la clave asimétrica.

Ejemplos

A. Mostrar las propiedades extendidas de una base de datos

En el ejemplo siguiente se prueba si la tabla spt_fallback_db de la base de datos master está firmada por el certificado de firma de esquema.

USE master;  
-- Declare a variable to hold a thumbprint and an object name  
DECLARE @thumbprint varbinary(20), @objectname sysname;  
  
-- Populate the thumbprint variable with the thumbprint of   
-- the master database schema signing certificate  
SELECT @thumbprint = thumbprint   
FROM sys.certificates   
WHERE name LIKE '%SchemaSigningCertificate%';  
  
-- Populate the object name variable with a table name in master  
SELECT @objectname = 'spt_fallback_db';  
  
-- Query to see if the table is signed by the thumbprint  
SELECT @objectname AS [object name],  
IS_OBJECTSIGNED(  
'OBJECT', OBJECT_ID(@objectname), 'certificate', @thumbprint  
) AS [Is the object signed?] ;  

Consulte también

sys.fn_check_object_signatures (Transact-SQL)