Sql server 2008 了解在SQL Server 2008中使用证书对哪些存储过程进行签名

Sql server 2008 了解在SQL Server 2008中使用证书对哪些存储过程进行签名,sql-server-2008,tsql,stored-procedures,certificate,signature,Sql Server 2008,Tsql,Stored Procedures,Certificate,Signature,我正在生成一个数据库更新脚本,我想知道存储过程是否已使用各种证书签名 我可以使用sys.procedures获取存储过程列表,也可以使用sys.certificates获取证书列表,但我无法找到使用各种证书签名的存储过程 是否有sys.procedures\u证书视图或类似的内容??也许在SQL Server Management Studio GUI上有一种方法可以告诉我这一点 我花了很长时间在谷歌上搜索这个,但没有用 提前感谢您的帮助。您应该能够使用sys.crypt_属性轻松获取此信息-查

我正在生成一个数据库更新脚本,我想知道存储过程是否已使用各种证书签名

我可以使用sys.procedures获取存储过程列表,也可以使用sys.certificates获取证书列表,但我无法找到使用各种证书签名的存储过程

是否有sys.procedures\u证书视图或类似的内容??也许在SQL Server Management Studio GUI上有一种方法可以告诉我这一点

我花了很长时间在谷歌上搜索这个,但没有用


提前感谢您的帮助。

您应该能够使用sys.crypt_属性轻松获取此信息-查看msdn文章

非常感谢您的帮助。非常感谢。这里有一个可能对人们有所帮助的小问题。它显示了由证书签名的存储过程及其签名时使用的证书。从sys.procedures pro internal join sys.crypt\u properties cry on cry.major\u id=pro.object\u id internal join sys.certificates cer on cer.thumbprint=cry.thumbprint order by cer中选择cer.name作为[证书],pro.name作为[存储过程]。name@MichaelDuffy你的评论是高质量添加的极好例子;它用完美的信息(表之间的关系,即要连接的列)扩展了答案,使其完全且立即有用。干得好!请尽可能用几句话解释。提交编辑以澄清。另外,如果您特别想要存储的过程,您可以用
sys.objects
替换
sys.procedures
,和/或按
obj.type
obj.type\u desc
(类型描述)进行过滤。例如,
其中obj.type\u desc='SQL\u storage\u PROCEDURE'
SELECT [Object Name] = object_name(cp.major_id),
       [Object Type] = obj.type_desc,   
       [Cert/Key] = coalesce(c.name, a.name),
       cp.crypt_type_desc
FROM   sys.crypt_properties cp
INNER JOIN sys.objects obj        ON obj.object_id = cp.major_id
LEFT   JOIN sys.certificates c    ON c.thumbprint = cp.thumbprint
LEFT   JOIN sys.asymmetric_keys a ON a.thumbprint = cp.thumbprint
ORDER BY [Object Name] ASC