J'utilise une base de données locale nommée 'Projets' depuis un certain temps maintenant. Il s'agit de la même base de données créée par le projet ASP.NET MVC 5 par défaut. Cependant, tout à coup, il s’est arrêté et je ne parviens pas à me connecter ni à le redémarrer avec
SqlLocalDb start Projects
Je reçois
The specified LocalDB instance does not exist.
Je vois le dossier dans
C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects
aussi, j'ai v11.0 dans
C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0
Je suis capable de me connecter à v11.
Que puis-je essayer de rétablir la connexion?
La chaîne de connexion est
<add name="DefaultConnection" connectionString="Data Source=(localdb)\Projects;Initial Catalog=master;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient" />
Modifier
J'ai essayé de joindre le fichier Db à la chaîne de connexion
AttachDbFileName=C:\Users\[My UserName]\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\Projects\master.mdf;
Cependant, je ne suis toujours pas capable de me connecter
A network-related or instance-specific error occurred while establishing a connection to SQL
Server. The server was not found or was not accessible. Verify that the instance name is correct
and that SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 50 - Local Database Runtime error occurred. The specified LocalDB instance
does not exist.)
On dirait que l'instance (localdb)\Projects
a été supprimée. Vous pouvez utiliser (localdb)\v11.0
ou recréer une instance Projects
en utilisant Utilitaire SqlLocalDB
sqllocaldb c Projects 11.0
Ligne de commande expliquée
c
- est pour "créer" Intéressant que je viens de rencontrer le même problème après avoir utilisé (LocalDb)\Projects pendant des mois.
Je sais que la dernière chose que j'ai faite sur ma machine avant qu'elle ne cesse de fonctionner a été d'installer une version mise à jour de l'interface utilisateur Kendo MVC de Telerik (qui se trouve également installer un KENDO.MVC.EXAMPLES\APP_DATA\SAMPLE.MDF dans LocalDb v11.0 ) et je parie que démarre et arrête la base de données locale v11.0 qui visse d’une manière ou d’une autre l’instance de Projects et que, comme vous, rien ne la redémarre.
Toutefois, si vous copiez tous vos fichiers .mdf et .ldf dans un dossier temporaire FIRST, Et ALORS suivez le conseil de Mrchief de créer à nouveau l'instance "Projects", Et ALORS, recopiez vos fichiers par-dessus les fichiers. créer des mises dans les projets, il restaurera votre base de données de projets à son état initial.
Je viens de le faire il y a une seconde et cela a fonctionné.
Dans mon cas, l'instance Projects
était déjà présente, après l'avoir invoquée dans la ligne de commande:
sqllocaldb i
Une liste de toutes les instances apparaît, les miennes étaient:
- MSSQLLocalDB
- Projets
- ProjetsV12
- v11.0
La chaîne de connexion dans mon Web.Config avait Data Source=(LocalDb)\v11.0
par défaut, alors j’ai supposé que l’instance devrait en fait être v11.0 et non pas Projects. En exécutant sqllocaldb i v11.0
:
Nom: v11.0
Version: 11.0.3000.0
...
Création automatique: oui
Etat: Arrêté
...
Et en démarrant l'instance avec sqllocaldb s v11.0
, State a été remplacé par Running, mais même si toutes ces instances étaient en cours d'exécution, l'exception était toujours levée.
J'ai découvert plus tard que le nom de l'instance devait être celui qui apparaît lorsque vous appelez Update-Database -Verbose
dans la console Package Manager Console , dans la mienne, cela apparaît:
La base de données cible est: 'Videos.Models.VideoDb' (source de données: (localdb) ** v12.0 **, fournisseur: System.Data.SqlClient, origine: Convention).
Par conséquent, je devais simplement créer v12.0 instance avec sqllocaldb c v12.0 12.0
et ajuster le Web.Config à ce nom. Après cela, la mise à jour a réussi.
vous pouvez modifier l'attribut -> paramètre en "v11.0" au lieu de v12.0 dans les balises entityFramework du script web.config ou App.configit