Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
Analytics Platform System (PDW)
Devolve uma lista de todos os objetos assináveis e indica se um objeto está assinado por um certificado especificado ou por uma chave assimétrica. Se o objeto estiver assinado pelo certificado especificado ou pela chave assimétrica assinada, também devolve se a assinatura do objeto é válida.
Transact-SQL convenções de sintaxe
Syntax
fn_ check_object_signatures (
{ '@class' } , { @thumbprint }
)
Arguments
{ '@class' }
Identifica o tipo de impressão digital do polegar fornecido:
'certificado'
'chave assimétrica'
@ a classe é sysname.
{ @impressão digital }
SHA-1 do certificado com que a chave está encriptada, ou o GUID da chave assimétrica com a qual a chave está encriptada.
@
impressão digital é varbinary(20).
Tabelas Devolvidas
A tabela seguinte lista as colunas que fn_check_object_signatures devolve.
| Coluna | Tipo | Description |
|---|---|---|
| tipo | nvarchar(120) | Devolve o tipo de descrição ou montagem. |
| entity_id | int | Devolve o id do objeto que está a ser avaliado. |
| is_signed | int | Retorna 0 quando o objeto não está assinado pela impressão digital fornecida. Retorna 1 quando o objeto é assinado pela impressão digital fornecida. |
| is_signature_valid | int | Quando o valor is_signed é 1, devolve 0 quando a assinatura não é válida. Devolve 1 quando a assinatura é válida. Quando o valor is_signed é 0, devolve sempre 0. |
Remarks
Use fn_check_object_signatures para confirmar que utilizadores maliciosos não adulteraram objetos.
Permissions
Requer VIEW DEFINIÇÃO no certificado ou na chave assimétrica.
Examples
O exemplo seguinte encontra o certificado de assinatura do esquema para a master base de dados e devolve o is_signed valor de 1 e is_signature_valid o valor de 1 para os objetos assinados pelo certificado de assinatura do esquema e que têm assinaturas válidas.
USE master;
-- Declare a variable to hold the thumbprint.
DECLARE @thumbprint varbinary(20) ;
-- Populate the thumbprint variable with the master database schema signing certificate.
SELECT @thumbprint = thumbprint
FROM sys.certificates
WHERE name LIKE '%SchemaSigningCertificate%' ;
-- Evaluates the objects signed by the schema signing certificate
SELECT type, entity_id, OBJECT_NAME(entity_id) AS [object name], is_signed, is_signature_valid
FROM sys.fn_check_object_signatures ('certificate', @thumbprint) ;
GO