IS_OBJECTSIGNED (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

Gibt an, ob ein Objekt von einem angegebenen Zertifikat oder asymmetrischen Schlüssel signiert wird.

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

'OBJECT'
Der Typ der sicherbaren Klasse.

@object_id
Die object_id des Objekts, das getestet wird. @object_id weist den Typ int auf.

@class
Klasse des Objekts:

  • ‚Zertifikat’

  • ‚asymmetrischer Schlüssel’

@class weist den Typ sysname auf.

@thumbprint
Der SHA-Fingerabdruck des Objekts. @thumbprint weist den Typ varbinary(32) auf.

Rückgabetypen

int

Bemerkungen

IS_OBJECTSIGNED gibt folgende Werte zurück.

Rückgabewert BESCHREIBUNG
NULL Das Objekt wurde nicht signiert oder ist nicht gültig.
0 Das Objekt wurde signiert, die Signatur ist jedoch nicht gültig.
1 Das Objekt ist signiert.

Berechtigungen

Benötigt VIEW DEFINITION auf dem Zertifikat oder asymmetrischen Schlüssel.

Beispiele

A. Anzeigen erweiterter Eigenschaften für eine Datenbank

Im folgenden Beispiel wird getestet, ob die Tabelle spt_fallback_db in der master-Datenbank vom Schemasignaturzertifikat signiert wird.

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

Weitere Informationen

sys.fn_check_object_signatures (Transact-SQL)