Microsoft hat mich zu der Überzeugung gebracht, dass der SQL Server 2012-Assistent zum Kopieren von Datenbanken die optimalste Methode zum Kopieren einer SQL Server 2000-Datenbank nach SQL Server 2012 ist. Nach einigen Stunden konnte ich einige Probleme überwinden und kleine Dateien importieren mittelgroße SQL Server 2000-Datenbanken in SQL Server 2012.
Der Assistent schlägt jedoch für eine 30-GB-Datenbank mit folgenden Fehlern ständig fehl:
Meldung: Beim Übertragen der Daten ist ein Fehler aufgetreten. Einzelheiten finden Sie in der inneren Ausnahme.
StackTrace: bei Microsoft.SqlServer.Management.Smo.Transfer.TransferData ()
bei Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer ()
InnerException -> Timeout abgelaufen. Die Zeitspanne, die vor Abschluss des Vorgangs verstrichen ist oder der Server nicht reagiert.
CREATE DATABASE fehlgeschlagen. Einige der aufgelisteten Dateinamen konnten nicht erstellt werden. Überprüfen Sie die zugehörigen Fehler.
StackTrace:
bei System.Data.SqlClient.SqlConnection.OnError (SqlException-Ausnahme, Boolean breakConnection)
bei System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()
at System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet massCopyHandler, TdsParserStateObject stateObj)
Ich habe doppelt geprüft, es ist kein Dateipfad, keine Berechtigung oder kein Speicherplatzproblem. Ich denke, der CREATE DATABASE
Schritt dauert ungefähr 2 Minuten und der Assistent geht davon aus, dass der Vorgang abgelaufen ist. Ich habe manuell eine leere Datenbank mit demselben Dateipfad und derselben Dateigröße mit SQL erstellt, die funktioniert hat. Interessanterweise schlug eine 1-GB-Datenbankkopie mit denselben Fehlern fehl und war beim zweiten Versuch erfolgreich.
Bitte helfen Sie.
quelle
Antworten:
Ein viel effizienterer Weg als das Herumspielen mit diesem Assistenten wäre:
ALTER DATABASE
.quelle