IS_OBJECTSIGNED (Transact-SQL)
Wskazuje, czy obiekt jest podpisany przez określonego certyfikat lub kluczasymetrycznego.
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?] ;