Kürzlich habe ich LocalDB mit dem SQL Server Express-Installationsprogramm und dieser Anleitung von Version 13 auf Version 14 aktualisiert . Nach der Installation habe ich die vorhandene Standardinstanz (MSSQLLOCALDB) von Version 13 gestoppt und eine neue erstellt, die automatisch die Server-Engine der Version 14.0.1000 verwendet.
Ich verwende LocalDB häufig für Datenbankintegrationstests, dh ich erstelle in meinen xunit-Tests eine (temporäre) Datenbank, die nach Abschluss des Tests gelöscht wird. Seit der neuen Version schlagen leider alle meine Tests wegen folgender Fehlermeldung fehl:
Beim Versuch, die physische Datei "C: \ Users \ kepflDBd0811493e18b46febf980ffb8029482a.mdf" zu öffnen oder zu erstellen, ist beim Erstellen einer Datei der Betriebssystemfehler 5 aufgetreten (Zugriff verweigert.)
Das Seltsame ist, dass der Zielpfad für die MDF-Datei falsch ist und ein Backslash zwischen C: \ Users \ kepfl und DBd0811493e18b46febf980ffb8029482a.mdf fehlt (das ist der zufällige Datenbankname für einen einzelnen Test). Die Datenbanken werden über den einfachen Befehl erstellt CREATE DATABASE [databaseName]
- hier nichts Besonderes.
In SSMS werden die folgenden Zielspeicherorte für Daten, Protokoll und Sicherung angezeigt:
Wenn ich jedoch versuche, den Speicherort zu aktualisieren, wird eine andere Fehlermeldung angezeigt:
Wie kann ich die Standardspeicherorte aktualisieren, damit LocalDB erneut Datenbanken erstellen kann? Es ist offensichtlich, dass LocalDB das Standardverzeichnis und den Namen der Datenbankdatei nicht korrekt kombiniert. Gibt es einen Registrierungseintrag, den ich bearbeiten kann? Oder sonst noch etwas?
Update nach Dougs Antwort und Sepupics Kommentar
Gemäß dieser Stackoverflow-Frage sollten die Standardspeicherorte auch über die Registrierung änderbar sein. Wenn ich jedoch versuche, die entsprechenden Schlüssel "DefaultData", "DefaultLog" und "BackupDirectory" zu finden, kann ich sie nicht in meiner Registrierung finden. Hat SQL Server v14 diese Registrierungsschlüssel umbenannt oder diese Informationen aus der Registrierung entfernt?