如何修复“主密钥文件不存在或格式无效。”在SQL Server 2017中

问题描述 投票:1回答:1

我正在使用的环境是Azure上托管的VM。

我最近在该VM上创建了一个名为TESTINSTANCE的SQL Server新实例(除了现有的默认实例外)。我使用了一个单独的服务帐户。

随后,我需要将数据库备份还原到新实例。在源中已经创建了主密钥和证书。

因此,在还原之前,我认为需要在目标实例中重新创建该密钥(TESTINSTANCE)。

但是当我将以下内容设为灰色时:

-- Create a database master key on the destination instance of SQL Server.   
USE master;  
GO  

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'value_a';  
GO

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'value_a';   
go

RESTORE MASTER KEY   
    FROM FILE = 'C:\folder_\masterdb_masterkey'   
    DECRYPTION BY PASSWORD = 'value_b'   
    ENCRYPTION BY PASSWORD = 'value_a';  
GO  

我收到以下错误消息:

主密钥文件不存在或格式无效。

我相信这可能是由于我在安装TESTINSTANCE期间创建的服务帐户的权限所致。

但是,当我检查下面页面的Windows特权和权限部分时,我的理解是,TESTINSTANCE服务帐户应获得与默认帐户相同的权限。

https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-2017

因此,我不确定为什么它无法访问C驱动器中的该位置。要确认,该文件确实存在于'C:\ folder_ \ masterdb_masterkey'

sql-server database-administration sql-server-2017
1个回答
0
投票

文件夹的所有者(C:\ folder_)是已从帐户中停用的用户。我通过在“高级安全设置” as shown in the answer to this question中将所有者更新为我的用户来将所有者更新为我的帐户。

然后我重新运行查询,它开始工作了。

https://dba.stackexchange.com/questions/112368/sql-server-data-folder-access-rights

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.