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?] ;