如何解决无法将 Service Master Key 恢复到开发者版,但可以恢复到 localdb
我需要将服务主密钥从服务器恢复到我的本地数据库。这适用于 sql Server Express 的 (localdb)\mssqlLocalDB
数据库,但不适用于同一台机器上的 sql Server Developer 版本。
我用这个 sql 语句来恢复密钥:
ALTER SERVICE MASTER KEY REGENERATE
GO
RESTORE SERVICE MASTER KEY
FROM FILE = N'\\exported_servicemasterkey'
DECRYPTION BY PASSWORD = 'my_password'
FORCE
GO
我在恢复步骤中遇到错误:
消息 15317,级别 16,状态 2,第 4 行
主密钥文件不存在或格式无效。
我确定文件在那里,而且格式正确。它正在使用 localDB。
- LocalDB 是 15.0.2000 版。
- 开发者版本为 15.0.2000.5。
解决方法
原题中的exported_servicemasterkey文件是网络位置。显然,运行 localDB 的帐户 (NT Service\MSSQL$SQLEXPRESS) 可以访问此位置。运行开发者版 (NT Service\MSSQLSERVER) 的帐户无权访问该位置。 我处理了从网络位置到我的驱动器的文件。在此之后恢复工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。