title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | f1_keywords | helpviewer_keywords | dev_langs | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
IS_OBJECTSIGNED (Transact-SQL) |
IS_OBJECTSIGNED (Transact-SQL) |
VanMSFT |
vanto |
03/10/2016 |
sql |
t-sql |
reference |
|
|
|
[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance]
Indicates whether an object is signed by a specified certificate or asymmetric key.
:::image type="icon" source="../../includes/media/topic-link-icon.svg" border="false"::: Transact-SQL syntax conventions
IS_OBJECTSIGNED (
'OBJECT', @object_id, @class, @thumbprint
)
'OBJECT'
The type of securable class.
@object_id
The object_id of the object being tested. @object_id is type int.
@class
The class of the object:
-
'certificate'
-
'asymmetric key'
@class is sysname.
@thumbprint
The SHA thumbprint of the object. @thumbprint is type varbinary(32).
int
IS_OBJECTSIGNED returns the following values.
Return value | Description |
---|---|
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.
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?] ;