Delen via


IS_OBJECTSIGNED (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Geeft aan of een object is ondertekend met een gespecificeerd certificaat of een asymmetrische sleutel.

Transact-SQL syntaxis-conventies

Syntaxis

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

Arguments

'OBJECT'
Het type beveiligbare klasse.

@object_id
De object_id van het object dat getest wordt. @object_id is type int.

@class
De klasse van het object:

  • 'certificaat'

  • 'asymmetrische sleutel'

@class is sysname.

@thumbprint
De SHA-duimafdruk van het object. @thumbprint is type varbinair(32).

Teruggegeven types

int

Opmerkingen

IS_OBJECTSIGNED geeft de volgende waarden terug.

Retourwaarde Description
NUL Het object is niet ondertekend, of het object is niet geldig.
0 Het object is ondertekend, maar de handtekening is niet geldig.
1 Het object is ondertekend.

Permissions

Vereist VIEW DEFINITION op het certificaat of de asymmetrische sleutel.

Voorbeelden

Eén. Het weergeven van uitgebreide eigenschappen op een database

Het volgende voorbeeld test of de spt_fallback_db-tabel in de masterdatabase is ondertekend door het schema-ondertekeningscertificaat.

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

Zie ook

sys.fn_check_object_signatures (Transact-SQL)