Welche Ursachen "SQL01268: Msg 1834: kann nicht überschrieben werden. Es wird von der database verwendet "? (im databaseprojekt)

Voller Fehler unten:

Fehler 1 SQL01268: .Net SqlClient dataanbieter: Msg 1834, Ebene 16, Status 1, Zeile 1 Die file 'C: \ Programme \ Microsoft SQL server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ testdatabase.mdf' kann nicht überschrieben werden. Es wird von der database 'testdatabase' verwendet. SchemaCompare5 25 0

Ich habe darüber in einigen Foren gelesen und ein paar Leute bekommen dies und angeblich für einige, die es zu tun hatte, mit dem Parametrieren des filepfadnamens an die db etc. oder Ticking "ignorieren filenamen und Pfad für fileen und Log-fileen" vor den Vergleich zu machen – das habe ich ohne Erfolg versucht.

Jemand anderes, der das gleiche / ähnliche Problem hat: http://social.msdn.microsoft.com/Forums/de/vstsdb/thread/5a8b8c52-adb4-4a5a-95ed-09ad22bacf60

Grundsätzlich für mich scheine ich diesen Fehler zu bekommen, unabhängig davon, welche databaseen ich für Ziel und Quelle verwende. Sagen, auch wenn ich eine neue database mit einer Tabelle und einer anderen database ohne Tabellen und verschiedenen Namen erstellen und versuchen, das Schema der database ohne Tabellen mit dem db mit der einzigen Tabelle zu aktualisieren, gibt es mir immer noch den Fehler. Fast wie SQL server Express ist verrückt geworden Ich erinnere mich an das Schema-Vergleichs-Tool vorher ohne Probleme. Alle db-Verbindungen wurden erstellt, versuchte viele Möglichkeiten, dies zu tun, ohne zu nennen, dh: Kopieren von * .mdf db in einem anderen Ordner oder Löschen von Dingen aus dem DATA-Ordner im MySQL-Verzeichnis in Programmdateien usw.

Auch glaube ich las jemand hat ein ähnliches Problem getriggers löschte einige fileen das Schema Vergleich Tool erstellt, denke, sie waren * .sql Typ nicht sicher, welche aber

Das Problem entsteht, weil die databasedateien bereits vorhanden sind.

Probieren Sie die unten im Visual Studio-databaseprojekt aus.

Erstellen Sie den Schemavergleich.

Gehen Sie zu Menü: data> Schema vergleichen> In> Editor exportieren

Sobald das Skript erstellt wurde, löschen Sie die Änderungsdatenbankbefehle, die die physischen fileen hinzufügen. Dann erstellen Sie eine Verbindung, wechseln Sie in den SQLCMD-Modus (stellen Sie sicher, dass Sie sich auf das Skript konzentrieren) und führen Sie das Skript aus.

Um zum SQLCMD-Moduszugriff zu wechseln: data> Transact-SQL-Editor> SQLCMD-Modus

Wenn die Ziel-DB bereits existiert, löschen Sie einfach nur Management Management, bevor Sie das erste Mal bereitstellen.

Ich hatte die database schon manuell über SQL server Management Studio erstellt, als ich bei der Erstellung des databaseprojekts über den SQL server 2008 Wizard in VS die ursprüngliche Verbindung aufgebaut habe. Es würde mir nicht erlauben, fortzufahren, bis es feststellen konnte, dass die database existierte. Dann, sobald ich zum ersten Schritt zum Deploy-Schritt gekommen bin, warf es den gleichen Fehler wie oben. Ich bin gerade in Management Studio gegangen und habe die DB gelöscht, dann habe ich versucht zu implementieren und es hat gut geklappt. Interessanterweise setzt sie jedes Mal ein, ohne dass ich hineingehen muss und es jedes Mal löschen muss.

RESTORE DATABASE B FROM DISK = 'A.bak' WITH MOVE 'DataFileLogicalName' TO 'C:\SQL Directory\DATA\B.mdf', MOVE 'LogFileLogicalName' TO 'C:\SQL Directory\DATA\B.ldf', REPLACE ---> Needed if database B already exists