Bagikan melalui


IS_OBJECTSIGNED (T-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Menunjukkan apakah objek ditandatangani oleh sertifikat atau kunci asimetris tertentu.

Konvensi sintaks transact-SQL

Sintaksis

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

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

'OBJECT'
Jenis kelas yang dapat diamankan.

@object_id
Object_id objek yang sedang diuji. @object_id adalah jenis int.

@class
Kelas objek:

  • 'sertifikat'

  • 'kunci asimetris'

@class adalah sysname.

@thumbprint
Thumbprint SHA objek. @thumbprint adalah jenis varbinary(32).

Tipe yang Dikembalikan

int

Keterangan

IS_OBJECTSIGNED mengembalikan nilai berikut.

Nilai hasil Deskripsi
NULL Objek tidak ditandatangani, atau objek tidak valid.
0 Objek ditandatangani, tetapi tanda tangan tidak valid.
1 Objek ditandatangani.

Izin

Memerlukan DEFINISI TAMPILAN pada sertifikat atau kunci asimetris.

Contoh

J. Menampilkan properti yang diperluas pada database

Contoh berikut menguji apakah tabel spt_fallback_db dalam database master ditandatangani oleh sertifikat penandatanganan skema.

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

Lihat Juga

sys.fn_check_object_signatures (T-SQL)