IS_OBJECTSIGNED (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

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

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

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

@object_id
O object_id do objeto que está sendo testado. @object_id é do tipo int.

@class
A classe do objeto:

  • 'certificado'

  • 'chave assimétrica'

@class é sysname.

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

Tipos retornados

int

Comentários

IS_OBJECTSIGNED retorna os seguintes valores:

Valor retornado Descrição
NULO O objeto não está assinado ou não é válido.
0 O objeto foi assinado, mas a assinatura não é válida.
1 O objeto foi assinado.

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 de autenticação do 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

sys.fn_check_object_signatures (Transact-SQL)