Microsoft заставила меня поверить, что Мастер копирования баз данных SQL Server 2012 является наиболее оптимальным способом копирования базы данных SQL Server 2000 в SQL Server 2012. Пройдя несколько часов, я смог преодолеть некоторые проблемы и смог импортировать небольшие файлы в базы данных SQL Server 2000 среднего размера в SQL Server 2012.
Однако мастер постоянно терпит неудачу для базы данных 30 ГБ с этими ошибками:
Сообщение: при передаче данных произошла ошибка. Смотрите внутреннее исключение для деталей.
StackTrace: в Microsoft.SqlServer.Management.Smo.Transfer.TransferData ()
в Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer ()
InnerException -> истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.
СОЗДАТЬ БАЗУ ДАННЫХ не удалось. Некоторые имена файлов не могут быть созданы. Проверьте связанные ошибки.
StackTrace:
в System.Data.SqlClient.SqlConnection.OnError (исключение SqlException, логическое breakConnection)
в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()
в System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
Я дважды проверил, это не проблема пути к файлу, разрешения или места на диске. Я думаю, что этот CREATE DATABASE
шаг занимает 2 минуты или около того, и мастер предполагает, что время операции истекло. Я вручную создал пустую базу данных с тем же путем к файлу и размером файла, используя SQL, который работал. Интересно, что копия базы данных объемом 1 ГБ завершилась с такими же ошибками и преуспела со второй попытки.
Пожалуйста помоги.
источник
Ответы:
Гораздо более эффективный путь, чем возиться с этим мастером:
ALTER DATABASE
.источник