Je dois restaurer la clé principale de service d'un serveur vers ma base de données locale. Cela fonctionne sur la base de données (localdb)\msSqlLocalDB de SQL Server Express, mais cela ne fonctionne pas sur l'édition SQL Server Developer sur la même machine.

J'utilise cette instruction SQL pour restaurer la clé :

ALTER SERVICE MASTER KEY REGENERATE 
GO

RESTORE SERVICE MASTER KEY 
FROM FILE = N'\\exported_servicemasterkey' 
DECRYPTION BY PASSWORD = 'my_password'
FORCE
GO

J'obtiens une erreur à l'étape de restauration :

Msg 15317, niveau 16, état 2, ligne 4
Le fichier de clé principale n'existe pas ou a un format non valide.

Je suis sûr que le fichier est là et que le format est correct. Cela fonctionne sur localDB.

  • LocalDB est la version 15.0.2000.
  • L'édition développeur est la 15.0.2000.5.
0
Don Chambers 8 mars 2021 à 22:11

1 réponse

Meilleure réponse

Le fichier exports_servicemasterkey dans la question d'origine est un emplacement réseau. Apparemment, le compte exécutant localDB (NT Service\MSSQL$SQLEXPRESS) a accès à cet emplacement. Le compte exécutant l'édition développeur (NT Service\MSSQLSERVER) n'a pas accès à l'emplacement. J'ai fait face au fichier de l'emplacement réseau sur mon lecteur. La restauration a fonctionné après cela.

0
Don Chambers 8 mars 2021 à 20:05