Lorsque je crée une nouvelle base de données avec C# et que je crée une table, je peux la fermer et la connecter. Si j'essaie de détacher la base de données dans la même session de mon application, il me dit que je ne peux pas. Si je redémarre l'application, puis ouvrez la base de données, puis fermez et détacher - Cela fonctionne. Pourquoi cela se produit-il et comment puis-je le résoudre?C# application connectée à la base de données - impossible de se détacher
P.S. J'ai essayé avec SET OFFLINE AVEC ROLLBACK IMMEDIATE, qui fonctionne, mais change mes permissions de base de données, et je ne veux vraiment pas cela.
Ma chaîne de connexion:
myConn.ConnectionString = String.Format("Server={0};Integrated security=SSPI;", serverName);
Ma chaîne Détacher:
str = string.Format("EXEC sp_detach_db '{0}'", databaseName);
Avez-vous essayé de détacher la base de données d'une connexion à cette même base de données? – GuidoG
Probablement. Je me connecte à la charge de l'application et je me déconnecte à la fermeture de l'application. Le problème est juste après la création de DB. Plus tard, si j'ouvre l'application et me connecte, je peux me détacher. –
vous ne pouvez pas détacher une base de données en cours d'utilisation. Donc avant d'envoyer l'appel à détacher d'abord, vous devez passer à une autre base de données, par exemple comme 'use master' – GuidoG