CERTPROPERTY (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

返回指定证书属性的值。

Transact-SQL 语法约定

语法

CertProperty ( Cert_ID , '<PropertyName>' )  
  
<PropertyName> ::=  
   Expiry_Date | Start_Date | Issuer_Name   
   | Cert_Serial_Number | Subject | SID | String_SID   

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

Cert_ID
int 数据类型的证书 ID 值。

Expiry_Date
证书过期日期。

Start_Date
证书开始生效的日期。

Issuer_Name
证书颁发者的名称。

Cert_Serial_Number
证书序列号。

主题
证书主题。

SID
证书 SID。 这也是映射到该证书的所有登录或用户的 SID。

String_SID
字符串形式的证书的 SID。 这也是映射到该证书的所有登录或用户的 SID。

返回类型

必须以单引号括起属性规范。

返回类型取决于在函数调用中指定的属性。 返回类型 sql_variant 包装所有返回值

  • Expiry_Date 和 Start_Date 返回 datetime
  • Cert_Serial_Number、Issuer_Name、String_SID 和 Subject 全部都返回 nvarchar
  • SID 返回 varbinary

注解

请参阅 sys.certificates 目录视图中的证书信息。

权限

需要对证书具有相应的权限,并且调用方对证书的 VIEW 权限没有被拒绝。 有关证书权限的详细信息,请参阅 CREATE CERTIFICATE (Transact-SQL)GRANT CERTIFICATE PERMISSIONS (Transact-SQL)

示例

以下示例返回证书主题。

-- First create a certificate.  
CREATE CERTIFICATE Marketing19 WITH   
    START_DATE = '04/04/2004' ,  
    EXPIRY_DATE = '07/07/2040' ,  
    SUBJECT = 'Marketing Print Division';  
GO  
  
-- Now use CertProperty to examine certificate  
-- Marketing19's properties.  
DECLARE @CertSubject sql_variant;  
set @CertSubject = CertProperty( Cert_ID('Marketing19'), 'Subject');  
PRINT CONVERT(nvarchar, @CertSubject);  
GO  

另请参阅

CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
CERT_ID (Transact-SQL)加密层次结构sys.certificates (Transact-SQL)安全目录视图 (Transact-SQL)