Sdílet prostřednictvím


IS_OBJECTSIGNED (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Označuje, zda je objekt podepsán specifikovaným certifikátem nebo asymetrickým klíčem.

Transact-SQL konvence syntaxe

Syntaxe

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

Arguments

'OBJEKT'
Typ sekurable class.

@object_id
object_id testovaného předmětu. @object_id je typ int.

@class
Třída objektu:

  • 'certifikát'

  • 'asymetrický klíč'

@class je sysname.

@thumbprint
Otisk palce SHA objektu. @thumbprint je typ varbinární(32).

Vrácené typy

int

Poznámky

IS_OBJECTSIGNED vrátí následující hodnoty.

Návratová hodnota Description
NULA Objekt není podepsán, nebo objekt není platný.
0 Objekt je podepsán, ale podpis není platný.
1 Předmět je podepsán.

Povolení

Vyžaduje VIEW DEFINITION na certifikátu nebo asymetrický klíč.

Examples

A. Zobrazení rozšířených vlastností v databázi

Následující příklad testuje, zda je spt_fallback_db tabulka v hlavní databázi podepsána certifikátem podepisování schématu.

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

Viz také

sys.fn_check_object_signatures (Transact-SQL)