Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-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
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?] ;