Quelles sont mes options si je dois déplacer une base de données de SQL Server 2012 (32 bits) vers SQL Server 2005 (64 bits)?
Je sais que je ne peux pas:
- restaurer une sauvegarde de la base de données sur SQL Server 2005
- détacher et attacher
Je sais que je peux:
- utiliser l'assistant d'importation de données, et je l'ai essayé sur une seule base de données, mais cela ne déplace que les données, et même cela était gênant car j'avais besoin de beaucoup de travail pour créer des tables temporaires pour maintenir les colonnes d'identité, recréer tous les FK, index, etc.
Existe-t-il une option plus simple?
sql-server
migration
downgrade
Greg Balajewicz
la source
la source
Réponses:
Vous pouvez suivre n'importe quelle méthode ci-dessous:
Remarque: Si vous utilisez de nouvelles fonctionnalités telles que de nouveaux types de données, etc., vous devez tester car cela générera des erreurs.
MÉTHODE 1: Utilisation d'outils natifs
Scriptez la base de données SCHEMA_ONLY et recréez une base de données vide sur le serveur de destination. Voici les captures d'écran:
Utilisez BCP OUT et BULK INSERT pour insérer des données.
Voici le script qui vous aidera avec la partie 2.
Méthode 2: utiliser des outils tiers
Créez une base de données vide sur le serveur de destination. Utilisez la comparaison de schéma et la comparaison de données de Redgate pour créer et charger des données dans le serveur de destination.
Remarque: J'ai utilisé le schéma et la comparaison de données de Redgate et ce sont les meilleurs outils pour ce type de tâche et donc si vous utilisez des outils tiers, alors ma recommandation serait Redgate.
la source
En plus des méthodes déjà suggérées ici, vous pouvez également essayer de créer un fichier BACPAC et l'importer dans votre destination. Cela est similaire à la façon dont Microsoft recommande de migrer vos bases de données de bases de données locales vers des bases de données cloud Azure.
L'avantage est qu'il s'agit d'une combinaison d'export de schéma ainsi que de données, et qu'il ne dépend pas de la version de la base de données, vous pouvez donc théoriquement importer des bases de données de n'importe quelle version vers n'importe quelle version.
L'inconvénient est qu'avant de générer le fichier BACPAC à la source, il exécute une sorte de processus de validation strict qui peut facilement échouer si vous avez des références à des objets en dehors de votre base de données (que ce soit des bases de données utilisateur ou système), ou si vous avez objets chiffrés. Mais si vous avez de la chance et que cela n'échoue pas, cela peut être une solution plutôt facile.
Tout ce dont vous avez besoin est l'une des versions les plus récentes de SSMS (17 ou 18): https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
Pour commencer à créer un fichier BACPAC, cliquez avec le bouton droit sur une base de données et sélectionnez "Exporter l'application de niveau de données ..." (assurez-vous de ne pas être confondu avec "Extraire l'application de niveau de données ..." qui est quelque chose de différent):
Un assistant simple vous sera présenté pour vous guider à travers les étapes. Lorsque vous avez terminé, vous pouvez utiliser "Importer une application de niveau de données ..." dans votre serveur de destination, que vous pouvez voir en cliquant avec le bouton droit sur le nœud "Bases de données" (encore une fois, ne confondez pas avec "Déployer des données" -tier Application ... "):
Cela vous montrera également un assistant simple pour vous guider à travers les étapes.
la source
Réduire la version de Sql Server est un travail très dur.
Il y a quelques options pour diminuer comme;
Tout d'abord, créez tous les scripts d'objet de base de données et exécutez-les sur le serveur de destination.
Après cela, vous pouvez utiliser;
Mais pour l' outil de comparaison de données RedGate ,
la source
Il est impossible de rétrograder une base de données sur SQL Server. Cependant, une solution consiste à scripter tous les objets de base de données et à appliquer le script sur la base de données de destination. SSIS est un excellent moyen d'aider à effectuer cela.
la source