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