Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Baza 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?] ;