SSMS弹出“Key not valid for use in specified state”错误,咨询注册服务器存储位置
以下是注册服务器相关配置可能的其他存储位置,按顺序排查:
本地AppData目录
检查C:\Users\<你的用户名>\AppData\Local\Microsoft\Microsoft SQL Server路径,删除该目录下所有和注册服务器、加密凭据相关的子文件夹或文件。Roaming目录是漫游设置,Local目录常存储本地缓存的加密数据,之前可能被忽略。Windows凭据管理器
打开控制面板→用户账户→凭据管理器→Windows凭据,找到所有包含“Microsoft SQL Server”或对应服务器名称的凭据条目,全部删除。SSMS会将保存的登录凭据存储在这里,加密密钥失效后会触发该错误。SSMS版本专属配置文件夹
针对SSMS 20版本,检查C:\Users\<你的用户名>\AppData\Roaming\Microsoft\SQL Server Management Studio\20.0;SSMS 19则对应19.0版本号的文件夹。删除其中的RegSrvr.xml(如果存在),或者直接删除整个文件夹的内容(备份后操作)。注册表项
打开注册表编辑器(regedit),定位到HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\Tools\Shell\RegSrvr,右键删除该键值(操作前建议右键导出备份)。这里存储了注册服务器的核心配置信息,残留的加密数据可能导致错误。
完成以上操作后,关闭所有SSMS进程,重启电脑再重新打开SSMS,错误应该会消失。
内容的提问来源于stack exchange,提问作者SomeGuy

