Microsoft me hizo creer que el Asistente para copiar bases de datos de SQL Server 2012 es la forma más óptima de copiar una base de datos de SQL Server 2000 a SQL Server 2012. Después de algunas horas, pude superar algunos problemas y pude importar pequeños bases de datos SQL Server 2000 de tamaño mediano en SQL Server 2012.
Sin embargo, el asistente falla constantemente para una base de datos de 30 GB con estos errores:
Mensaje: se produjo un error al transferir datos. Vea la excepción interna para más detalles.
StackTrace: en Microsoft.SqlServer.Management.Smo.Transfer.TransferData ()
en Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer ()
InnerException -> Tiempo de espera caducado. El tiempo de espera transcurrido antes de la finalización de la operación o el servidor no responde.
CREATE DATABASE falló. Algunos de los nombres de archivos en la lista no se pudieron crear. Verifique los errores relacionados.
StackTrace:
en System.Data.SqlClient.SqlConnection.OnError (excepción SqlException, Boolean breakConnection)
en System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()
en System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
Lo he verificado dos veces, no es un problema de ruta de archivo, permiso o espacio en disco. Creo que el CREATE DATABASE
paso dura unos 2 minutos y el asistente asume que la operación ha excedido el tiempo de espera. Creé manualmente una base de datos vacía con la misma ruta de archivo y tamaño de archivo usando SQL, eso funcionó. Curiosamente, una copia de la base de datos de 1GB falló con los mismos errores y tuvo éxito en el segundo intento.
Por favor ayuda.
fuente
Respuestas:
Una ruta mucho más eficiente que meterse con ese asistente sería:
ALTER DATABASE
.fuente