IS_OBJECTSIGNED (Transact-SQL)

Indica se um objeto foi assinado por um determinado certificado ou chave assimétrica.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

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

Argumentos

  • 'OBJECT'
    O tipo de classe do protegível.

  • @object\_id
    O parâmetro object_id do objeto que está sendo testado. O tipo de @object\_id é int.

  • @class
    A classe do objeto:

    • 'certificado'

    • 'chave assimétrica'

    @class é sysname.

  • @thumbprint
    A impressão digital SHA do objeto. O tipo de @thumbprint é varbinary(32).

Tipos retornados

int

Comentários

IS_OBJECTSIGNED retorna os seguintes valores:

Valor de retorno

Descrição

0

O objeto não foi assinado.

1

O objeto foi assinado.

NULL

O objeto não é válido.

Permissões

Requer VIEW DEFINITION no certificado ou na chave assimétrica.

Exemplos

A. Exibindo propriedades estendidas em um banco de dados

O exemplo a seguir testa se a tabela spt_fallback_db do banco de dados mestre foi assinada pelo certificado autenticado de esquema.

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

Consulte também

Referência