IS_OBJECTSIGNED (Transact-SQL)

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

Icône Lien de rubriqueConventions de 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é. L'argument @object\_id est de type int.

  • @class
    Classe de l'objet :

    • 'certificate'

    • 'asymmetric key'

    L'argument @class est de type sysname.

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

Types retournés

int

Notes

IS_OBJECTSIGNED retourne les valeurs suivantes :

Valeur de retour

Description

0

L'objet n'est pas signé.

1

L'objet est signé.

NULL

L'objet n'est pas valide.

Autorisations

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

Exemples

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