ich den folgenden Code bin mit den Server-Datenbank Standardpositionen ändern (in dem der SQL Server neue Datenbank-Dateien und Protokolldateien hält):Verwenden SMO SQL Server-Datenbank Standardpositionen ändern
using Microsoft.SqlServer.Management.Smo;
Server smoServer = new Server(new ServerConnection(server, username, password));
server.DefaultFile = newPath;
server.Alter();
server.Refresh();
// Now create a database in the new location
Database smoDatabase = new Database(smoServer, database);
smoDatabase.Create();
smoServer.Refresh();
Hier ist mein Problem: Ich kann in SQL Server Management Studio suchen und sehen, dass die Server-Eigenschaft für Datenbank-Standardspeicherorte in newPath
geändert wurde. Wenn ich jedoch SMO zum Erstellen einer neuen Datenbank verwende, werden die neue Datenbank und das neue Protokoll im alten Pfad erstellt.
Sobald ich die SQL Server-Instanz neu starte, erstellt der SMO-Code die Datenbank/Protokolldatei im neuen Pfad.
Irgendwelche Ideen, warum ich dieses Verhalten bekomme?
Bearbeiten: Ein Vorschlag ist, dass die Änderung nicht tatsächlich stattfindet, bis die SQL Server-Instanz neu gestartet wird. Wenn ich jedoch SSMS öffne und eine neue Datenbank für die Instanz erstelle, wird sie im neuen Pfad erstellt, ohne dass neu gestartet werden muss. ausdrücklich
Ich habe das gleiche Problem habe und es macht mich verrückt! –