10
votes

Sauvegarde SQL Server 2014 à 2012

Y a-t-il des outils pour convertir la base de données SQL Server 2014 en 2012?

J'ai essayé générer script mais le script généré avec des données est trop grand et SQL Server Management Studio ne l'a pas exécuté, je dois avoir à la fois le schéma et les données.


0 commentaires

3 Réponses :


3
votes

Utilisez le script, mais au lieu d'exécuter le studio de gestion de TRUGH, utilisez l'utilitaire SQLCMD léger.

http://msdn.microsoft.com/es-es/library/ MS162773.aspx


3 commentaires

Si la base de données contient des tables avec plusieurs millions de lignes, le script généré pourrait devenir peu productiquement gros (plusieurs dizaines ou des centaines de GB). Ce sera une douleur pour exécuter un tel script énorme, même en utilisant l'utilitaire SQLCMD.


@Dan, j'ai chargé des fichiers avec plusieurs gigaoctets de données avec cette méthode sans problèmes ..


D'accord, je dois admettre que je n'ai jamais essayé. Mais typiquement, le script prendrait 2-3x autant d'espace que la base de données elle-même, ce qui pourrait être un problème si vous n'avez pas assez d'espace disque sur vos environnements. Cela pourrait évidemment être résolu en brisant le script en morceaux plus petits, mais cela semble juste beaucoup plus de travail que d'utiliser, par exemple, le Tâche de base de données de transfert SSIS .



8
votes

À ma connaissance, il existe fondamentalement des options trois pour migrer une base de données vers une version inférieure de SQL Server, sans utiliser des outils 3ème partie:

  • génère des scripts (pas vraiment adaptés aux grandes quantités de données)
  • Script personnalisé et bcp ou assistant d'importation / exportation
  • SQL Server Integration Services (Tâche de la base de données de transfert)

    première option ne convient pas dans votre cas, comme indiqué.

    deuxième option est de scripter simplement la structure de la base de données, puis utilisez l'assistant d'importation / exportation pour copier les données, une table à la fois. Remarque, que si vous avez des contraintes de clé étrangère dans votre base de données, vous souhaiterez peut-être désactiver les contraintes jusqu'à ce que vous avez rempli toutes vos tables avec des données. Ce blog POST explique en détail comment cela peut être fait.

    troisième option utilise le Transfert Siss Tâche de base de données qui utilise essentiellement SMO pour créer les objets sur le serveur de destination, puis transfère les données. C'est la manière recommandée de migrer une base de données entre les instances SQL Server de différentes versions. SSIS exige que vous ayez installé SQL Server Data Tools - Business Intelligence (SSDT-BI) pour Visual Studio. Avant SQL Server 2012, cela s'appelait Studio de développement Business Intelligence (BIDD). Vous pouvez les télécharger ici:


2 commentaires

Comment utiliser la tâche de base de données de transfert SSIS? Les outils de données SQL Server Microsoft SQL doivent être installés dans Visual Studio? ou ...


J'ai mis à jour ma réponse avec des liens concernant SSDT-BI et les offres.



1
votes

OH bien, la deuxième option de Dan ne fonctionne pas: après avoir installé SSDT-BI pour VS2013 et configurez la tâche de transfert de base de données, il indique que la version de l'instance de base de données source doit être inférieure ou égale à la version de l'instance de base de données de destination. : Donc, une migration de 2014 à 2012 (ou dans mon cas 2008R2) n'est pas possible.


0 commentaires