J'utilise le code suivant pour changer l'emplacement par défaut de la base de données du serveur (où le serveur SQL conserve les nouveaux fichiers de base de données et fichiers journaux):Utilisez SMO pour changer l'emplacement par défaut de base de données SQL Server
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();
Voici mon problème: Je peux regarder dans SQL Server Management Studio et voir la propriété de serveur pour les emplacements par défaut de base de données a été modifiée à newPath
. Toutefois, lorsque j'utilise SMO pour créer une nouvelle base de données, la nouvelle base de données et le fichier journal sont créés dans l'ancien chemin d'accès. Une fois que j'ai redémarré l'instance SQL Server, le code SMO crée la base de données/fichier journal dans le nouveau chemin.
Des idées pour lesquelles je reçois ce comportement?
Modifier: Une suggestion est que la modification ne se produit réellement que lorsque l'instance de serveur Sql est redémarrée. Toutefois, si j'ouvre SSMS et crée une nouvelle base de données sur l'instance, elle est créée dans le nouveau chemin sans avoir à redémarrer.
J'ai le même problème et ça me rend fou! –