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 anahtar üzerinde DEFINITION gerektirir VIEW .

Ö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.

Note

Azure SQL Veritabanı ve Microsoft Fabric'teki SQL veritabanında bu USE ifade mevcut değildir. Bunun yerine, doğrudan veritabanına master bağlanın ve kod örneğinin geri kalanını çalıştırın.

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