Microsoft m'a fait croire que l'assistant de copie de base de données SQL Server 2012 est le moyen le plus optimal de copier une base de données SQL Server 2000 vers SQL Server 2012. Après quelques heures de difficulté, j'ai pu surmonter certains problèmes et j'ai pu importer de petites des bases de données SQL Server 2000 de taille moyenne dans SQL Server 2012.
Cependant, l'assistant échoue constamment pour une base de données de 30 Go avec ces erreurs:
Message: Une erreur s'est produite lors du transfert des données. Voir l'exception interne pour plus de détails.
StackTrace: sur Microsoft.SqlServer.Management.Smo.Transfer.TransferData ()
sur Microsoft.SqlServer.Dts.Tasks.TransferObjectsTask.TransferObjectsTask.TransferDatabasesUsingSMOTransfer ()
InnerException -> Délai expiré. Le délai d'expiration s'est écoulé avant la fin de l'opération ou le serveur ne répond pas.
Échec de CREATE DATABASE. Certains noms de fichiers répertoriés n'ont pas pu être créés. Vérifiez les erreurs associées.
StackTrace:
à System.Data.SqlClient.SqlConnection.OnError (exception SqlException, Boolean breakConnection)
à System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning ()
sur System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
J'ai revérifié, ce n'est pas un problème de chemin de fichier, d'autorisation ou d'espace disque. Je pense que l' CREATE DATABASE
étape prend environ 2 minutes et que l'assistant suppose que l'opération a expiré. J'ai créé manuellement une base de données vide avec le même chemin de fichier et la même taille de fichier en utilisant SQL, cela a fonctionné. Fait intéressant, une copie de la base de données de 1 Go a échoué avec les mêmes erreurs et a réussi au 2e essai.
Veuillez aider.
la source
Réponses:
Un chemin beaucoup plus efficace que de jouer avec cet assistant serait de:
ALTER DATABASE
.la source