Udostępnij za pomocą


IS_OBJECTSIGNED (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Wskazuje, czy obiekt jest podpisany określonym certyfikatem lub kluczem asymetrycznym.

Transact-SQL konwencje składni

Składnia

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

Arguments

'OBIEKT'
Typ klasy zabezpieczalnej.

@object_id
object_id obiektu testowanego. @object_id to typ int.

@class
Klasa obiektu:

  • 'certyfikat'

  • "klucz asymetryczny"

@class to nazwa systemu.

@thumbprint
Odcisk kciuka SHA obiektu. @thumbprint jest typem warbinarnym(32).

Typy zwrócone

int

Uwagi

IS_OBJECTSIGNED zwraca następujące wartości.

Wartość zwracana Description
ZERO Obiekt nie jest podpisany lub nie jest ważny.
0 Obiekt jest podpisany, ale podpis nie jest ważny.
1 Przedmiot jest podpisany.

Permissions

Wymaga VIEW DEFINITION na certyfikcie lub klucza asymetrycznego.

Przykłady

A. Wyświetlanie rozszerzonych właściwości w bazie danych

Poniższy przykład sprawdza, czy tabela spt_fallback_db w głównej bazie danych jest podpisana przez certyfikat podpisu schematu.

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

Zobacz też

sys.fn_check_object_signatures (Transact-SQL)