Partage via


IS_OBJECTSIGNED (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Indique si un objet est signé par un certificat spécifié ou une clé asymétrique.

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

'OBJECT'
Type de la classe sécurisable.

@object_id
ID de l'objet testé. @object_id est de type int.

@class
Classe de l'objet :

  • 'certificate'

  • 'asymmetric key'

@class est sysname.

@thumbprint
Empreinte numérique SHA de l'objet. @thumbprint est de type varbinary(32).

Types retournés

int

Notes

IS_OBJECTSIGNED retourne les valeurs suivantes :

Valeur retournée Description
NULL L’objet n’est pas signé ou n’est pas valide.
0 L’objet est signé, mais la signature n’est pas valide.
1 L'objet est signé.

Autorisations

Nécessite l'autorisation VIEW DEFINITION sur le certificat ou la clé asymétrique.

Exemples

R. Affichage des propriétés étendues d'une base de données

L’exemple suivant teste si la table spt_fallback_db dans la base de données master est signée par le certificat de signature de schéma.

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

Voir aussi

sys.fn_check_object_signatures (Transact-SQL)