Si la base de données a auto_close activé, le moteur fermera le descripteur de fichier lorsque la base de données n'est plus utilisée. Les instances Express créent des bases de données avec fermeture automatique activée et cette propriété est conservée lorsque la base de données est attachée à une instance non-Express.
Il n'est pas vrai que vous deviez arrêter l'instance pour copier un fichier de base de données. Tout ce que vous avez à faire est de renoncer au descripteur exclusif détenu par l'instance SQL Server sur le(s) fichier(s) de base de données. Cela peut être fait en mettant simplement la base de données hors ligne, en faisant la copie, puis en la remettant en ligne. (Si je me souviens bien) pour les bases de données en lecture seule, le handle détenu par SQL Server permet à un autre processus d'ouvrir un handle partagé sur le fichier. C'est pourquoi vous pouvez copier une base de données en ligne en lecture seule, et msqlsystemreource est en lecture seule en mode de fonctionnement normal.
Autres questions :
1c) jamais. Copiez toujours le MDF, tous les NDF et le(s) LDF. Même lorsqu'il existe des recommandations pour copier uniquement le MDF, ignorez-les et copiez également le LDF.
2) les bases de données de ressources font partie de vos fichiers binaires. Ils se trouveront dans le dossier binn de votre installation, au même emplacement que sqlservr.exe. Le chemin sera différent pour chaque instance installée et vous pouvez le modifier lors de l'installation.
Et une dernière considération :pourquoi touchez-vous la ressource db? Vous êtes prêt pour un monde de douleur, vous pouvez facilement corrompre votre instance si vous manipulez la base de données de ressources de quelque manière que ce soit.