Updated: March 10, 2016

THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Indicates whether an object is signed by a specified certificate or asymmetric key.

Topic link icon Transact-SQL Syntax Conventions

'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:

  • 'certificate'

  • 'asymmetric key'

@class is sysname.

The SHA thumbprint of the object. @thumbprint is type varbinary(32).


IS_OBJECTSIGNED returns the following values.

Return valueDescription
NULLThe object is not signed, or the object is not valid.
0The object is signed, but the signature is not valid.
1The 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],  
'OBJECT', OBJECT_ID(@objectname), 'certificate', @thumbprint  
) AS [Is the object signed?] ;  

sys.fn_check_object_signatures (Transact-SQL)

Community Additions