Aracılığıyla paylaş


IS_OBJECTSIGNED (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

Bir nesnenin belirli bir sertifika veya asimetrik anahtarla mı imzalandığını gösterir.

Transact-SQL söz dizimi kuralları

Sözdizimi

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

Arguments

'NESNE'
Güvenliklendirilebilir sınıf türü.

@object_id
Test edilen nesnenin object_id. @object_idtür int.

@class
Nesnenin sınıfı:

  • 'Sertifika'

  • 'asimetrik anahtar'

@classsysname.

@thumbprint
Nesnenin SHA parmak izi. @thumbprinttipi varbinary(32).

Geri Dönen Tipler

int

Açıklamalar

IS_OBJECTSIGNED aşağıdaki değerleri döndürür.

Dönüş değeri Description
null Nesne imzalanmamış veya nesne geçerli değildir.
0 Nesne imzalanmıştır, ancak imza geçerli değildir.
1 Nesne işaretlenmiştir.

Permissions

Sertifika veya asimetrik anahtarda VIEW DEFINITION gerektirir.

Örnekler

A. Bir veritabanında genişletilmiş özelliklerin görüntülenmesi

Aşağıdaki örnek, ana veritabanındaki spt_fallback_db tablosunun şema imza sertifikası ile imzalanıp imzalanmadığını test eder.

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

Ayrıca Bkz.

sys.fn_check_object_signatures (Transact-SQL)