J'essaie de me connecter à un MDF. Je suis même allé jusqu'au bout de la réinstallation de SQL Server Express (c'est maintenant la seule version de SQL installée sur ma machine, alors que j'avais auparavant 05 dev et express). J'ai vérifié que tous les chemins étaient corrects et jusqu'à présent, mon google-fu ne m'a pas aidé.
Le message d'exception complet est:
Échec de la génération d'une instance d'utilisateur SQL Server en raison d'une erreur liée au démarrage du processus pour Pour l'instance d'utilisateur. La connexion sera coupée.
La chaîne de connexion est:
<add name= "CustomerEntities"
connectionString="metadata=res://*/Data.CustomerModel.csdl|res://*/Data.CustomerModel.ssdl|res://*/Data.CustomerModel.msl;
provider=System.Data.SqlClient;
provider connection string='Data Source=.\SQLEXPRESS;
AttachDbFilename=\App_Data\CustomerDb.mdf;
Integrated Security=True;
User Instance=True'"
providerName="System.Data.EntityClient" />
Plusieurs des références à cette erreur trouvée en ligne ne me concernent pas. Par exemple, l'un de ceux que j'ai vus est l'endroit où cette erreur se produit lors d'une tentative de démarrage de l'instance d'utilisateur sur un bureau distant (je le fais localement). Tandis qu'un autre suggère que cela a à voir avec les fichiers restants d'une ancienne installation express ... J'ai regardé dans les emplacements prescrits et n'ai pas trouvé ces artefacts. J'ai également essayé d'exécuter sp_configure 'user instances enabled', '1'
, mais il était indiqué qu'il était déjà défini sur 1.
ok, ça marche maintenant! Je suppose que c’était un problème complexe ... les étapes que j’ai prises pour le résoudre sont les suivantes:
AttachDbFilename=|DataDirectory|CustomerDb.mdf;
c:\Users\<user name>\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS
. Je pensais avoir déjà cherché cela auparavant, mais j'avais en fait cherché dans le dossier Microsoft Sql Server
. Encore une fois, une différence subtile.Une fois que j'ai fait ces deux choses, la connexion a commencé à fonctionner :-D
Même si les réponses ci-dessus ont résolu le problème de nombreuses personnes, je trouve toujours que celles-ci ne répondent pas à l’essence du problème. La réponse la plus proche de @sohaiby ci-dessus est la plus proche. Mais cela renvoie à tort à l'utilisation de Management Studio.
Le message d'erreur au-dessus de cette rubrique indique très clairement que le problème provient de la génération d'une instance d'utilisateur. Voici comment chaque instance est utilisée et comment elle est utilisée: https://msdn.Microsoft.com/en-us/library/ms254504(v=vs.110).aspx
Personnellement, j'ai rencontré ce problème lors du basculement d'une connexion de base de données du mode d'authentification Windows vers l'authentification SQL Server. Je l'ai résolu en modifiant simplement une partie de la chaîne de connexion en: "User Instance = false;" au lieu de "User Instance = true;", ce qui a bien fonctionné avec l'authentification Windows.
Après avoir changé pour "User Instance = false;" ma connexion a bien fonctionné sans aucune manipulation supplémentaire. Je ne peux pas insister pour que cela fonctionne ou convienne dans tous les scénarios. Cependant, je recommanderai certainement de l'essayer avant les autres méthodes drastiques décrites ci-dessus, telles que l'effacement des répertoires de travail SQL Server.
J'ai rencontré la même erreur lorsque j'ai déplacé le code d'une machine à une autre. J'utilise VS2010 et SQLEXPRESS 2008 vient avec.
Astuce, la suppression de tout le contenu du dossier suivant "C:\Utilisateurs\Nom d'utilisateur\AppData\Local\Microsoft\Serveur de données SQL\SQLEXPRESS" a fonctionné pour moi.
Je règle ce problème avec mon fichier mdf dans une application de formulaire Windows et je ne fais que redémarrer mon ordinateur et mon problème est résolu.
Comme indiqué par d'autres, la suppression du contenu du répertoire: c:\Utilisateurs \\ AppData\Local\Microsoft\Serveur SQL Microsoft Data\SQLEXPRESS l'a résolu pour moi. Une note qui peut aider les autres utilisateurs de Windows 7 à parcourir le répertoire c:\users\nom_utilisateur à partir du navigateur de documents n’affiche pas le dossier AppData qui m’a jeté pendant un moment (car je pensais ne pas avoir le répertoire AppData) tant que J'ai découvert qu'il existe bel et bien (mais ne s'affiche pas dans le navigateur de documents de Windows 7), il vous suffit de taper le nom du chemin complet pour y accéder.
J'ai commencé à avoir cette erreur ce matin dans un environnement de déploiement de test. J'utilisais SQL Server Express 2008 et l'erreur que je recevais était
"Échec de la génération d'une instance d'utilisateur SQL Server en raison d'un échec du démarrage du processus pour l'instance d'utilisateur. La connexion sera fermée."
Incertain de ce qui l’a provoquée, j’ai suivi les instructions de ce billet et d’un autre article concernant la suppression du répertoire "C:\Utilisateurs\Nom d'utilisateur\AppData\Local\Microsoft\Microsoft SQL Server Data\SQLEXPRESS", mais en vain.
Qu'est-ce que le truc pour moi était de changer la chaîne de connexion de
"Source de données =.\SQLExpress; Catalogue initial = DBFilePath; Sécurité intégrée = SSPI; MultipleActiveResultSets = true"
à
"Source de données =.\SQLExpress; Catalogue initial = DBName; Sécurité intégrée = SSPI; MultipleActiveResultSets = true"
Outre les autres solutions proposées ici, celle-ci peut également être utile. Assurez-vous que le pool d'applications s'exécute en tant que service réseau et non pas ApplicationPoolIdentity.
Cette solution a été trouvée ici: http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know-how-tore-create-the-aspnetdb- mdf-file.aspx