IS_OBJECTSIGNED (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Anger om ett objekt är signerat med ett specificerat certifikat eller en asymmetrisk nyckel.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

'OBJEKT'
Den typen av säkerhetsklass.

@object_id
Föremålets object_id som testas. @object_id är typ-int.

@class
Objektets klass:

  • 'certifikat'

  • 'Asymmetrisk nyckel'

@class är sysname.

@thumbprint
SHA-tumavtrycket av objektet. @thumbprint är typ varbinär(32).

Returnerade typer

int

Anmärkningar

IS_OBJECTSIGNED returnerar följande värden.

Returvärde Description
NOLL Objektet är inte signerat, eller så är objektet inte giltigt.
0 Objektet är signerat, men signaturen är inte giltig.
1 Objektet är signerat.

Permissions

Kräver VIEW DEFINITION på certifikatet eller den asymmetriska nyckeln.

Examples

A. Visning av utökade egenskaper i en databas

Följande exempel testar om spt_fallback_db-tabellen i huvuddatabasen är signerad av schemasigneringscertifikatet.

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

Se även

sys.fn_check_object_signatures (Transact-SQL)