由于客户需要sql server 开启强制协议加密。因此我百度了一堆相关文章来看,两个步骤,第一IIS创建个自签名证书,第二sql server管理工具中,在sqlserver协议选择使用证书。
两个步骤轻松做完,然而重启sql server实例一直失败。“无法加载用户指定的证书 [Cert Hash(sha1) ”这个错误。百度了半天没找到解决方法。官方说明是
可能的原因包括:
-
该证书可能已被移动或删除。
-
如果由 SQL Server 使用的登录名已发生更改,则 SQL Server 可能无权访问该证书。
-
该证书可能已过期。
1、3点肯定不可能,然而我当时思维没转过来,原因就是 SQL Server 可能无权访问该证书,这个是运行sql server实例的用户对证书的访问权限。需要在证书管理下,个人-证书,选择证书,右键所有任务-管理私钥。选择添加上运行sql server实例的用户。