Indicates whether an object is signed by a specified certificate or asymmetric key.
IS_OBJECTSIGNED ( 'OBJECT', @object_id, @class, @thumbprint )
The type of securable class.
The object_id of the object being tested. @object_id is type int.
The class of the object:
@class is sysname.
The SHA thumbprint of the object. @thumbprint is type varbinary(32).
IS_OBJECTSIGNED returns the following values.
|NULL||The object is not signed, or the object is not valid.|
|0||The object is signed, but the signature is not valid.|
|1||The object is signed.|
Requires VIEW DEFINITION on the certificate or asymmetric key.
A. Displaying extended properties on a database
The following example tests if the spt_fallback_db table in the master database is signed by the schema signing certificate.
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?] ;