Udostępnij za pośrednictwem


IS_OBJECTSIGNED (Transact-SQL)

Wskazuje, czy obiekt jest podpisany przez określonego certyfikat lub kluczasymetrycznego.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • "OBJECT"
    Typ klasy zabezpieczany .

  • @object_id
    Object_id obiektu testowanego.@object_idis type int.

  • @class
    Klasa obiektu:

    • "certyfikat"

    • " kluczasymetrycznego"

    @classis sysname.

  • @thumbprint
    Odcisk palca SHA obiektu.@thumbprintis type varbinary(32).

Zwracane typy

int

Uwagi

IS_OBJECTSIGNED zwraca następujące wartości.

Zwracanie wartości

Opis

0

Obiekt nie jest podpisany.

1

Obiekt jest podpisany.

NULL

Obiekt nie jest prawidłowy.

Uprawnienia

Definicja WIDOKU wymaga certyfikat lub kluczasymetrycznego.

Przykłady

A.Wyświetlanie właściwości rozszerzone do bazy danych

Następujący przykładowy kod sprawdza, jeśli w tabela spt_fallback_db w wzorca bazy danych jest podpisany przez schemat certyfikatpodpisywania.

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