C'est un problème de permissions Windows. Si vous vous êtes connecté à votre serveur en utilisant l'authentification Windows, l'utilisateur Windows doit avoir les droits d'accès au fichier. Si vous vous êtes connecté à votre serveur à l'aide de l'authentification SQL Server, le compte de l'instance SQL Server (MSSQL$, par exemple MSSQL$SQLEXPRESS) doit avoir les droits d'accès au fichier. Les autres solutions qui suggèrent de se connecter en tant qu'administrateur accomplissent essentiellement la même chose (avec un peu plus de force :).
Si le fichier de la base de données se trouve dans le dossier de données de votre serveur SQL, il devrait avoir hérité des droits d'utilisateur pour le compte du serveur SQL de ce dossier et l'authentification du serveur SQL devrait avoir fonctionné. Je recommande de fixer les droits du compte de l'instance du serveur SQL pour ce dossier. Si le fichier de données se trouve ailleurs et que le compte SQL Server n'a pas de droits, vous rencontrerez probablement d'autres problèmes par la suite. Encore une fois, la meilleure solution est de fixer les droits du compte SS. À moins que vous ne vous connectiez toujours en tant qu'administrateur...
2 votes
Est-il possible que le mdf soit déjà attaché à une instance de SQL Server, ou qu'il soit ouvert dans un projet Visual Studio ou quelque chose de ce genre ? Avez-vous essayé de faire une copie du fichier et de l'attacher ? D'où vient le fichier MDF ? Est-il possible qu'il n'ait pas été détaché proprement de sa source d'origine ?
3 votes
Le serveur SQL est-il exécuté en tant qu'administrateur ? Voir CREATE FILE a rencontré l'erreur 5 du système d'exploitation L'accès est refusé
1 votes
Merci pour vos commentaires, j'ai pu résoudre le problème en fonctionnant en tant qu'ADMINISTRATEUR, merci !