Ich habe auch versucht, den Standort der Instanzen anzupassen, und habe eine Lösung gefunden. Wie in früheren Posts beschrieben, scheint es standardmäßig "% LOCALAPPDATA% \ Microsoft \ Microsoft SQL Server Lokale DB \ Instanzen" zu sein. Nach einigen Experimenten scheint das SQLLocabDB-Befehlszeilendienstprogramm die Umgebungsvariable% USERPROFILE% (statt% LOCALAPPDATA%) zu verwenden, um diesen Speicherort zu finden.
Die folgende für mich gearbeitet (mit SQLLocalDB von einer Eingabeaufforderung):
C:\Users\dan.smith>echo %USERPROFILE%
C:\Users\dan.smith
C:\Users\dan.smith>set USERPROFILE=c:\temp
C:\Users\dan.smith>echo %USERPROFILE%
c:\temp
C:\Users\dan.smith>mkdir c:\temp\AppData\Local
C:\Users\dan.smith>sqllocaldb create test
LocalDB instance "test" created with version 13.0.1100.286.
C:\Users\dan.smith>cd C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test
C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test>dir /w
Volume in drive C has no label.
Volume Serial Number is 4A71-7A6F
Directory of C:\temp\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\test
[.] [..]
error.log error1.log
log.trc master.mdf
mastlog.ldf model.mdf
modellog.ldf msdbdata.mdf
msdblog.ldf system_health_0_131061520581180000.xel
tempdb.mdf templog.ldf
12 File(s) 46,701,550 bytes
2 Dir(s) 117,107,499,008 bytes free
Wie gezeigt, das erstellt mein LocalDB Beispiel unter c: \ temp, wenn auch die ursprüngliche Ordnerhierarchie von „AppData“ vererben weiter (was unveränderbar scheint). Beachten Sie, dass es auch notwendig war, den Teil "AppData \ Local" der Ordnerhierarchie manuell zu erstellen, andernfalls schlägt er fehl.
Das nächste Problem ist die Verbindung zu dieser Datenbank aus einer C# -Anwendung. Um dies zu tun, muss der% USERPROFILE% Umgebungsvariable auf die gleiche Position eingestellt wird, wie oben, d.h .:
Environment.SetEnvironmentVariable("USERPROFILE", "c:\\temp");
Dieser Stand getan werden soll, eine DB-Verbindung aufzubauen. Wahrscheinlich am besten irgendwo im Einstiegspunkt der Anwendung.
Alles in allem ist dies ein bisschen ein Hack, aber es gibt zumindest eine Möglichkeit, Dinge anderswo als in "c: \ users ..." zu speichern.
Ich glaube, ich sollte fragen, ist es möglich, Instanz des Servers an einem anderen Ort zu erstellen – santBart