Exporter ta base SQL Server (.bak restaurée) en fichier .sql via SSMS & Importer le script .sql dans PostgreSQL via pgAdmin
Exporter ta base SQL Server (.bak restaurée) en fichier .sql via SSMS
Voici un guide illustré étape par étape pour :
-
Exporter ta base SQL Server (.bak restaurée) en fichier .sql via SSMS,
-
Importer ce script
.sqldans PostgreSQL avec pgAdmin, en évitant les erreurs.
Étape 1 : Exporter la base SQL Server en fichier .sql
A. Ouvrir l’assistant "Generate Scripts" dans SSMS
-
Lance SQL Server Management Studio (SSMS) et connecte-toi.
-
Dans l’Explorateur d’objets, fais un clic droit sur ta base de données → sélectionne Tasks → Generate Scripts...
→ Tu verras une interface comme sur les captures 1 et 2.
B. Configurer le script à générer
-
Dans l’assistant, choisis Script entire database and all database objects (Tout exporter).
-
Dans Set Scripting Options :
-
Sélectionne Save as script file (et non "notebook") comme format de sortie
-
Dans la zone Advanced, modifie Types of data to script pour y mettre Schema and Data (structure + données).
Ça génèrera un script SQL complet, incluant lesCREATE TABLEet lesINSERTpour les données.
-


C. Choisir l’emplacement
-
Choisis l’emplacement de sauvegarde avec l’option Save as script file (dans la même fenêtre) et donne un nom comme
ma_base.sql.
Assure-toi que l’extension.sqlest bien là.
-
Clique sur Next, puis Finish. Le script est alors généré et sauvegardé à l’emplacement choisi.
Étape 2 : Adapter ton fichier .sql pour PostgreSQL
Le script généré par SSMS est au format T-SQL (spécifique à Microsoft SQL Server), avec des éléments incompatibles comme IDENTITY, [dbo], GO, ou des types comme DATETIME2.
Solutions proposées :
-
Utiliser un outil comme pgloader pour automatiser la conversion, ou
-
Effectuer un nettoyage manuel du script :
-
Remplacer
IDENTITY(1,1)parSERIALouGENERATEDde PostgreSQL -
Retirer les blocs
GO -
Changer
[]autour des noms, ajuster les types (ex :NVARCHAR→VARCHAR), etc.
Étape 3 : Importer le script .sql dans PostgreSQL via pgAdmin
A. Ouvrir pgAdmin et créer une base vide
-
Lance pgAdmin 4 et connecte-toi à ton serveur PostgreSQL.
-
Clique droit sur Databases → Create → Database…. Donne-lui un nom approprié, par exemple
ma_base_pg. -
Clique sur Save.
B. Exécuter le script .sql
-
Sélectionne ta base de données
ma_base_pg. -
Clique sur l’icône Query Tool pour ouvrir l’éditeur SQL.
-
Dans l’éditeur, utilise File → Open pour charger ton fichier
ma_base.sql.
→ La capture 3 illustre l’éditeur ouvert avec un script prêt à exécuter. -
Clique sur Run (F5) pour exécuter le script. Surveille les éventuelles erreurs.
-
Une fois exécuté, vérifie le contenu : développe Schemas → public → Tables, puis fais un clic droit sur une table → View/Edit Data → All Rows. Tu verras les données importées (comme illustré dans la capture 4).
Pour aller plus loin
-
Si le script
.sqlest très volumineux (plusieurs centaines de Mo), il peut être difficile à ouvrir dans pgAdmin. Utilisepsqlen ligne de commande pour importer davantage efficacement.
Stack Overflowhevodata.com -
Pour des migrations régulières,
pgloaderest un bon moyen d’automatiser tout le processus, de SQL Server à PostgreSQL.





Commentaires
Enregistrer un commentaire