我正在制作数据库更新脚本我想找出使用各种证书签名的存储过程。
我可以使用sys.procedures获取存储过程列表,我可以使用sys.certificates获取证书列表但我无法找到使用各种证书签署的存储过程
是否有sys.procedures_certificates视图或类似的东西?也许在SQL Server Management Studio GUI上有一种方法告诉我这个..
我花了很长时间在谷歌上搜索但无济于事。
先谢谢你的帮助..
答案 0 :(得分:6)
您应该能够使用sys.crypt_properties轻松搞定 - 请查看msdn文章here
答案 1 :(得分:5)
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