Datenbank trennen, obwohl noch aktive Zugriffe drauf sind

DrMueller

Erfahrenes Mitglied
Hallo Leute,

es ist mehr SQL als VB, aber da ich es über VB lösen muss, frage ich mal hier nach:
In einer Funktion machen wir eine Kopie einer Datenbank, shrinken etc. diese, und fügen diese andernorts wieder ein.
Nun wird vor dem Einfügen die Datenbank geclont, diese müsste jedoch wieder getrennt und gelöscht werden.
Nun scheint immer noch ein aktiver Zugriff darauf zu bestehen, wen ich diese abhängen will.
Das abhängen, habe ich auch nur gefunden, mache ich wie folgt:

Visual Basic:
  sourceRS.Open "sp_detach_db " & txtSourceDatabaseName, sourceConn, adOpenKeyset, adLockOptimistic
  sourceRS.Close]

Wobei dies eben nie klappt, weswegen der nächste Schritt, auch nicht klappt:

Visual Basic:
sourceRS.Open "DROP DATABASE " & txtSourceDatabaseName, sourceConn, adOpenKeyset, adLockOptimistic

Daher meine Fragen:
  • Ist sp_detach_db allgemein gültig also für diverse Datenbanken? Wenn nein, gibt es da was?
  • Kann ich das Trennen irgendwie forcieren, dass die Verbinden zuerst gelöst werden? Wenn nein, kann ich die Verbindungen forcieren zu trennen?


Das Problem ist, dass ich das Projekt nur übernommen habe. Der vorherige Programmierer hat die Logik so gemacht, dass erst beim korrekten Ausführen eines Schrittes der nächste gemacht wird, weswegen ich an diesem Punkt anstehe.


Wie immer danke ich vor alle Antworten.

Müller Matthias
 
Ah sorry, der Anfänger.
SQL Express, wobei hier die gängisten Versionen vertreten sind. Also 2003, 2005, 2008.
 
Zurück