Freigeben über


IS_OBJECTSIGNED (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance

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

Erfordert die VIEW DEFINITION-Berechtigung für das Zertifikat oder den 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)