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