IS_OBJECTSIGNED (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Menunjukkan apakah objek ditandatangani oleh sertifikat atau kunci asimetris tertentu.
Sintaks
IS_OBJECTSIGNED (
'OBJECT', @object_id, @class, @thumbprint
)
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?] ;