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 :

  1. Exporter ta base SQL Server (.bak restaurée) en fichier .sql via SSMS,

  2. Importer ce script .sql dans 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

  1. Lance SQL Server Management Studio (SSMS) et connecte-toi.

  2. 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

  1. Dans l’assistant, choisis Script entire database and all database objects (Tout exporter).

  2. 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 les CREATE TABLE et les INSERT pour les données.



C. Choisir l’emplacement

  1. 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 .sql est bien là.

  2. 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) par SERIAL ou GENERATED de PostgreSQL

    • Retirer les blocs GO

    • Changer [] autour des noms, ajuster les types (ex : NVARCHARVARCHAR), etc.


Étape 3 : Importer le script .sql dans PostgreSQL via pgAdmin

A. Ouvrir pgAdmin et créer une base vide

  1. Lance pgAdmin 4 et connecte-toi à ton serveur PostgreSQL.

  2. Clique droit sur DatabasesCreate → Database…. Donne-lui un nom approprié, par exemple ma_base_pg.

  3. Clique sur Save.




B. Exécuter le script .sql

  1. Sélectionne ta base de données ma_base_pg.

  2. Clique sur l’icône Query Tool pour ouvrir l’éditeur SQL.

  3. 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.

  4. Clique sur Run (F5) pour exécuter le script. Surveille les éventuelles erreurs.

  5. 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 .sql est très volumineux (plusieurs centaines de Mo), il peut être difficile à ouvrir dans pgAdmin. Utilise psql en ligne de commande pour importer davantage efficacement.
    Stack Overflowhevodata.com

  • Pour des migrations régulières, pgloader est un bon moyen d’automatiser tout le processus, de SQL Server à PostgreSQL.













Commentaires

Posts les plus consultés de ce blog

🛠 Utilisation de CustomUIEditor pour Personnaliser le Ruban Excel

🗓️ Simulateur de Congés et Calendrier Collaboratif sous Google Sheets

Explication VBA : Facturation automatique Gestion client