Skip to content
| Marketplace
Sign in
Visual Studio Code>Databases>sqldatabaseorganizerNew to Visual Studio Code? Get it now.
sqldatabaseorganizer

sqldatabaseorganizer

El Houssine DARRAZI

|
60 installs
| (0) | Free
Extension VS Code pour l'exploration de bases de données
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SQL Database Organizer - Extension VS Code

Extension complète pour VS Code permettant d'explorer, gérer et administrer des bases de données SQL Server directement depuis votre éditeur, similaire à SQL Server Management Studio (SSMS).

SQL Database Organizer Extension Demo

Version Marketplace Licence


📋 Sommaire

  • Fonctionnalités
  • Prérequis
  • Installation
  • Guide d'utilisation
  • Commandes disponibles
  • Configuration
  • Fonctionnalités détaillées
  • Support
  • Licence

✨ Fonctionnalités

Catégorie Fonctionnalités
🔌 Connexions Connexions multiples, Authentification Windows, Comptes AD, Instances nommées, SSL/TLS, Import/Export, Surveillance de la santé
✨ Assistant IA Génération de SQL en langage naturel, 8 fournisseurs (OpenAI, Anthropic, Azure, Google, Mistral, OpenRouter, Ollama, custom), clés en SecretStorage, niveaux de risque, mode Appliquer / Script
🔍 Recherche Recherche d'objets (tables/vues/procédures/fonctions), QuickPick, Filtrage explorer, Cache mémoire, Multi-connexions
🌳 Exploration Arborescence hiérarchique, Groupement par schéma, Propriétés étendues, Dossiers virtuels
🔐 Sécurité Logins serveur, Utilisateurs et rôles par base, Matrice de permissions GRANT/DENY, Assistant d'attribution de droits
📝 Requêtes SQL Editeur intégré, Résultats formatés, Historique des requêtes, Requêtes favorites, Export résultats (CSV/Excel/JSON)
🗓️ Agent SQL Server Liste des jobs, Statut en 7 états, Historique d'exécution, Étapes du job, Activer/désactiver, Démarrer, Générer le script
🔧 Génération de scripts SELECT / INSERT / UPDATE / DELETE, Scripts schéma + données, CREATE TABLE
📇 Gestion des index REBUILD / REORGANIZE, Activer/désactiver, Assistant de création, Rapport de fragmentation
⚡ Déclencheurs Liste, Assistant de création, Édition, Activer/désactiver, Script SQL
🎨 Table Designer Éditeur visuel, Validation en temps réel, Gestion des colonnes & contraintes
🧪 Données de test Génération de N lignes réalistes, Rôles sémantiques, NULL réglables, Script INSERT par lots
📊 Outils avancés Diagramme de relations, Plan d'exécution + index manquants, Rapports détaillés, Export Excel/CSV/JSON
💾 Administration Backup / Restore, Extraction DAC/Bacpac, Gestion des logins
⚙️ Configuration Multi-langue (FR/EN), Cache métadonnées, Paramètres personnalisables

🎯 Prérequis

  • VS Code 1.70.0 ou supérieur
  • SQL Server 2012 / 2014 / 2016 / 2017 / 2019 / 2022
  • Connexion réseau accessible au serveur SQL Server

📦 Installation

Version actuelle : 1.9.0 — voir le CHANGELOG.md pour le détail des nouveautés et correctifs.

  1. Ouvrez VS Code
  2. Allez dans l'onglet Extensions
  3. Recherchez SQL Database Organizer
  4. Cliquez sur Installer

Ou installez directement depuis le Marketplace: SQL Database Organizer sur VS Code Marketplace


🚀 Guide d'utilisation

1. Connexion à SQL Server

✅ Ouvrez la vue Database Explorer depuis la barre d'activité (icône base de données) ✅ Cliquez sur l'icône + ✅ Remplissez le formulaire de connexion:

  • Nom personnalisé pour la connexion
  • Adresse du serveur / Port
  • Base de données par défaut (optionnel)
  • Authentification: SQL Server / Windows / Domaine Active Directory
  • Options SSL et timeout de connexion ✅ Enregistrez votre connexion

💡 Tous les mots de passe sont stockés de manière sécurisée via le système SecretStorage natif de VS Code.

2. Exploration de la base de données

✅ Cliquez sur une connexion pour lister les bases de données ✅ Développez une base de données pour voir:

  • Tables, Vues, Procédures stockées, Fonctions
  • Colonnes, Index, Contraintes, Triggers, Statistiques
  • Permissions et propriétés étendues SQL Server
  • Sécurité : logins serveur, utilisateurs et rôles de la base, avec matrice des permissions (GRANT / DENY) et assistant d'attribution de droits

✅ Groupement automatique par schéma: Tous les objets sont organisés automatiquement par schéma SQL avec compteur dynamique.

✅ Dossiers virtuels: Organisez vos objets comme vous le souhaitez avec des dossiers personnalisés colorés.

3. Exécuter des requêtes SQL

✅ Ouvrez un fichier .sql ou créez un nouveau fichier ✅ Écrivez votre requête ✅ Clique droit → Exécuter la requête SQL ou utilisez le raccourci ✅ Sélectionnez la connexion à utiliser ✅ Les résultats s'affichent dans un panneau webview dédié et formaté

4. Table Designer

✅ Clic droit sur une table → Ouvrir Table Designer ✅ Ajouter / Modifier / Supprimer / Renommer des colonnes ✅ Définir types, nullabilité, clés primaires et étrangères ✅ Validation automatique en temps réel ✅ Génération du script SQL final pour application des changements

5. Rechercher des objets de base de données

✅ Cliquez sur l'icône 🔍 dans la barre d'outils de l'explorateur ou utilisez la commande Rechercher un objet ✅ Saisissez le nom de l'objet à rechercher (table, vue, procédure, fonction) ✅ Les résultats s'affichent dans un QuickPick avec le nom, type, schéma et base de données ✅ Cliquez sur un résultat pour filtrer l'explorateur et afficher uniquement cet objet avec son arborescence ✅ La recherche est effectuée sur toutes les connexions configurées ✅ Cache mémoire : Les recherches suivantes sont instantanées (indexation en mémoire avec expiration de 5 minutes)

6. Assistant IA (✨)

✅ Ouvrez le panneau ✨ Assistant IA depuis la barre latérale (ou la commande ✨ Ouvrir l'assistant IA) ✅ Configurez une clé via 🔑 Gérer les clés IA : choisissez le fournisseur (OpenAI, Anthropic, Azure OpenAI, Google, Mistral, OpenRouter, Ollama ou endpoint personnalisé), la clé est stockée dans le SecretStorage de VS Code (jamais dans settings.json) ✅ Décrivez votre besoin en langage naturel (raccourci Ctrl+Enter) : « Crée la base Ventes avec les tables Clients et Commandes, une clé étrangère, un index et une vue des commandes du mois » ✅ Choisissez le mode :

  • ⚡ Appliquer : l'IA manipule directement l'explorateur (création de tables, index, vues…) avec confirmation avant exécution
  • Générer le script : obtenez le T-SQL à relire, avec ▶ Exécuter / Ouvrir / Copier ✅ Le niveau de risque (Lecture seule / Écriture / ⚠ Destructif) est calculé sur le SQL réellement produit ; une opération destructrice exige de saisir SUPPRIMER pour confirmer ✅ Après exécution, l'arbre est rafraîchi automatiquement : les objets créés apparaissent aussitôt

📜 Liste complète des commandes

Commande Description
🔌 Connexions
Ajouter une connexion Créer une nouvelle connexion SQL Server
Se connecter Etablir la connexion au serveur
Déconnecter Fermer la connexion active
Exporter les connexions Exporter toutes les connexions sauvegardées
Importer des connexions Importer un fichier de connexions
Modifier connexion Editer les paramètres d'une connexion existante
Tester toutes les connexions Ping de santé sur toutes les connexions et affichage du statut de chacune
📊 Exploration
Actualiser Rafraichir l'arborescence des objets
Rechercher un objet Rechercher tables, vues, procédures, fonctions dans toutes les connexions
Afficher propriétés Afficher les détails complets d'un objet
Renommer objet Renommer tables, vues, procédures, fonctions
Supprimer objet Supprimer définitivement un objet
📝 Requêtes
Ouvrir nouvelle requête Ouvrir un éditeur SQL sur la base sélectionnée
Exécuter requête SQL Exécuter la requête sélectionnée
Ajouter aux favoris Sauvegarder la requête dans les favoris
Voir historique requêtes Consulter l'historique de toutes les requêtes exécutées
Analyser le plan d'exécution Analyser le plan estimé/réel d'une requête et proposer les index manquants
🔧 Génération scripts
Générer SELECT Génère un script SELECT * pour la table
Générer INSERT Génère un template INSERT
Générer UPDATE Génère un template UPDATE
Générer DELETE Génère un template DELETE
Générer script schéma Génère le script de création de la table/base
Générer script données Génère le script d'insertion des données
Générer script complet Génère script schéma + données
🛠️ Outils
Ouvrir Table Designer Editeur visuel de tables
Ouvrir diagramme relations Visualisation graphique des relations entre tables
Exporter table Exporter les données d'une table vers Excel / CSV
Afficher rapport base de données Rapport statistique complet sur la base
Afficher rapport connexion Rapport détaillé sur la connexion
💾 Administration
Créer base de données Créer une nouvelle base de données
Supprimer base de données Supprimer définitivement une base
Backup base de données Effectuer un backup complet
Restaurer base de données Restaurer depuis un fichier .bak
Extraire application DAC Générer un fichier .dacpac
Exporter Bacpac Générer un fichier .bacpac
Créer login Créer un nouveau login SQL Server
Renommer login Renommer un login existant
Activer/Désactiver login Changer le statut d'un login
Supprimer login Supprimer définitivement un login
Liste des déclencheurs Lister les déclencheurs d'une base de données
Nouveau déclencheur Créer un déclencheur via un assistant (script SQL pré-rempli)
Modifier le déclencheur Ouvrir la définition du déclencheur dans un éditeur SQL
Activer / désactiver le déclencheur Changer l'état d'un déclencheur
Supprimer le déclencheur Supprimer définitivement un déclencheur
Script du déclencheur Générer le script SQL du déclencheur
Générer des données de test Générer un script INSERT de N lignes réalistes pour une table
📁 Dossiers virtuels
Créer dossier virtuel Créer un dossier personnalisé
Supprimer dossier virtuel Supprimer un dossier virtuel
Définir couleur dossier Personnaliser la couleur du dossier
✨ Assistant IA
✨ Ouvrir l'assistant IA Ouvrir le panneau latéral de génération de SQL en langage naturel
🔑 Gérer les clés IA Ajouter, modifier, tester ou supprimer une clé API de fournisseur d'IA
✨ Générer un script SQL avec l'IA Générer un script T-SQL ciblé à partir de la sélection courante

⚙️ Configuration

Toutes les options de configuration sont disponibles dans les paramètres VS Code:

Paramètre Valeur par défaut Description
sqldatabaseorganizer.enableCaching true Activation du cache des métadonnées pour améliorer les performances
sqldatabaseorganizer.enableHistory true Activation de l'historique des requêtes
sqldatabaseorganizer.enableFavorites true Activation des requêtes favorites
sqldatabaseorganizer.enableDatabaseOrganizer true Activation de la vue Database Explorer (barre d'activité)
sqldatabaseorganizer.enableCustomDatabaseReorganizer true Activation des dossiers virtuels et du réorganiseur personnalisé
sqldatabaseorganizer.format.keywordCase upper Casse des mots-clés SQL à la mise en forme : upper / lower / preserve
sqldatabaseorganizer.format.indent two Indentation SQL : two / four / tab
sqldatabaseorganizer.queryTimeout 30 Délai maximal d'exécution d'une requête en secondes (0 = illimité)
sqldatabaseorganizer.language auto Langue de l'interface: auto / fr / en
sqldatabaseorganizer.ai.includeSchema true Inclure le schéma de la base dans le contexte envoyé à l'IA
sqldatabaseorganizer.ai.temperature 0 Température du modèle IA (0–2) : 0 = réponses déterministes
sqldatabaseorganizer.ai.maxTokens 2000 Nombre maximal de tokens générés par l'IA (256 min)

🩺 Santé des connexions

Paramètre Valeur par défaut Description
sqldatabaseorganizer.health.enabled true Surveiller la santé des connexions (ping périodique et pastille d'état)
sqldatabaseorganizer.health.autoReconnect true Reconnexion automatique silencieuse après plusieurs échecs de ping
sqldatabaseorganizer.health.intervalMs 60000 Intervalle entre deux pings de santé
sqldatabaseorganizer.health.timeoutMs 10000 Délai maximal d'un ping avant échec
sqldatabaseorganizer.health.degradedLatencyMs 2000 Latence au-delà de laquelle la connexion est considérée comme lente
sqldatabaseorganizer.health.failureThreshold 2 Nombre d'échecs consécutifs avant tentative de reconnexion
sqldatabaseorganizer.health.maxReconnectAttempts 3 Nombre maximal de reconnexions automatiques par connexion

🔍 Fonctionnalités détaillées

✨ Assistant IA

(https://raw.githubusercontent.com/ElHoussineDarrazi/Portfolio/main/projects/iaSQLOrganizer.png)

  • ✅ Panneau latéral « ✨ Assistant IA » : un champ de texte, Ctrl+Enter pour générer, raccourcis par catégorie, aperçu du SQL, notes du modèle et boutons Exécuter / Ouvrir / Copier
  • ✅ 8 fournisseurs : OpenAI, Anthropic, Azure OpenAI, Google, Mistral, OpenRouter, Ollama et endpoint personnalisé compatible OpenAI (baseUrl configurable par profil)
  • ✅ Clés API en toute sécurité : stockées dans le SecretStorage natif de VS Code (Keychain / Credential Manager) — jamais dans settings.json, jamais renvoyées au webview ; test de clé intégré avec messages d'erreur contextualisés (401/404/400/5xx)
  • ✅ 10 catégories de demandes avec guide de prompt métier : base, tables, index, vues, procédures, fonctions, triggers, DML, sécurité, maintenance
  • ✅ Niveaux de risque calculés sur le SQL réellement produit : Lecture seule / Écriture / ⚠ Destructif, confirmation modale, et saisie obligatoire de SUPPRIMER pour les opérations destructrices (DROP, TRUNCATE, DELETE, UPDATE)
  • ✅ Mode ⚡ Appliquer : actions structurées appliquées à l'explorateur avec confirmation, sans écrire de SQL ; mode script : T-SQL à relire avant exécution
  • ✅ Rafraîchissement automatique de l'explorateur après exécution : les objets créés apparaissent aussitôt dans l'arbre
  • ✅ Clic droit sur un objet de l'arbre pour générer un script ciblé

✅ Connexions

  • ✅ Compatibilité complète SQL Server 2012 à 2022
  • ✅ Authentification Windows native
  • ✅ Support des comptes Active Directory
  • ✅ Support des instances nommées SQL Server
  • ✅ Connexions multiples simultanées
  • ✅ Stockage sécurisé des mots de passe
  • ✅ Chiffrement TLS pour toutes les communications
  • ✅ Timeout de connexion configurable
  • ✅ Affichage immédiat du nom et version du serveur
  • ✅ Import/Export des connexions sauvegardées
  • ✅ Surveillance de la santé : ping périodique en tâche de fond, pastille d'état sur chaque connexion de l'arbre (🟢 sain / 🟡 lent / 🔴 hors ligne)
  • ✅ Reconnexion automatique silencieuse avec backoff exponentiel après plusieurs échecs consécutifs
  • ✅ Commande « Tester toutes les connexions » pour un diagnostic ponctuel de toutes les connexions configurées

✅ Exploration

  • ✅ Arborescence hiérarchique complète
  • ✅ Groupement automatique par schéma SQL
  • ✅ Compteur dynamique sur chaque dossier
  • ✅ Dossiers virtuels personnalisables avec couleurs
  • ✅ Drag & Drop des objets dans les dossiers virtuels
  • ✅ Affichage des propriétés étendues SQL Server
  • ✅ Rafraichissement automatique et manuel

✅ Recherche d'objets

  • ✅ Recherche de tables, vues, procédures et fonctions
  • ✅ Recherche multi-connexions (toutes les bases de toutes les connexions)
  • ✅ Affichage des résultats via QuickPick avec nom, type, schéma et base de données
  • ✅ Filtrage "soft" de l'explorateur après sélection d'un résultat
  • ✅ Cache mémoire intelligent (5 min TTL) pour des recherches instantanées
  • ✅ Icône de recherche dans la barre d'outils de l'explorateur
  • ✅ Message d'accueil avec lien vers la recherche quand aucune connexion n'est configurée

✅ Requêtes SQL

  • ✅ Exécution directe depuis l'éditeur VS Code
  • ✅ Affichage des résultats dans panneau dédié
  • ✅ Historique illimité des requêtes exécutées
  • ✅ Système de requêtes favorites
  • ✅ Autocomplétion SQL IntelliSense
  • ✅ Coloration syntaxique SQL améliorée
  • ✅ Code Lens pour exécution rapide
  • ✅ Export des résultats de requête en CSV, Excel (un onglet par jeu de résultats) et JSON
    • Boutons d'export dans les webviews de résultats + bouton « 📤 Exporter » dans la barre de statut
    • Commande sqlResults.exportResults (palette de commandes) pour exporter les derniers résultats
  • ✅ Plan d'exécution et analyse des index manquants
    • Commande « Plan d'exécution » sur la requête courante ou la sélection (menu contextuel de l'éditeur SQL ou palette)
    • Mode Plan estimé (SHOWPLAN_XML + STATISTICS PROFILE) ou Plan réel (STATISTICS XML, avec les lignes réellement lues)
    • Tableau des opérateurs triés par coût décroissant (scan, jointure…), avec le détail de chaque opérateur au clic
    • Index manquants recommandés (issus du plan et des DMV), avec le script CREATE INDEX prêt à copier
    • Permissions requises : ALTER TRACE (ou sysadmin) pour le plan réel, VIEW SERVER STATE pour le plan estimé et les DMV
  • ✅ Bibliothèque de modèles de requêtes (44 modèles intégrés)
    • Catégories : Sélection, DML, DDL, Administration, Diagnostic, Sécurité, Maintenance, Transactions
    • Insertion guidée : 📋 Insérer un modèle de requête (palette, barre de l'éditeur, menu contextuel, Ctrl+Alt+S / Cmd+Alt+S)
    • Variables {{variable}} saisies une par une avant insertion
    • Modèles personnels : ⭐ Enregistrer la sélection comme modèle, puis 🗂️ Gérer mes modèles de requêtes (modifier / supprimer / vider / lister)
    • Import / export de la bibliothèque en JSON pour la partager entre postes
    • Tous les modèles sont aussi proposés dans l'IntelliSense SQL

✅ Administration

  • ✅ Backup / Restore des bases de données
  • ✅ Extraction DAC et export Bacpac
  • ✅ Gestion complète des logins SQL Server
  • ✅ Utilisateurs et rôles par base, avec matrice des permissions (GRANT / DENY)
    • Matrice effective via sys.fn_my_permissions (avec repli sur les droits explicites si EXECUTE AS est refusé)
    • 🔐 Assistant d'attribution : portée (base / schéma / table / vue / procédure) → objet → droit → principal, puis exécution du GRANT / DENY
    • Les opérations basculent le contexte sur la base cible (les principals d'une base n'existent pas sur la base par défaut de la connexion)
  • ✅ Supervision des jobs de l'Agent SQL Server (msdb)
    • 📋 Liste des jobs avec catégorie, activation, planification et prochaines / dernières dates d'exécution
    • 🚦 Statut normalisé en 7 états (désactivé, jamais exécuté, réussi, échoué, en réessai, annulé, inconnu) avec icône et couleur
    • 🕘 Historique d'exécution avec durée, nombre de tentatives et message de l'Agent
    • 📖 Étapes du job : type, base cible, commande SQL, réessais et actions de fin
    • ⏯️ Activer / désactiver un job, ▶️ le démarrer immédiatement
    • 📄 Générer le script de recréation d'un job dans un document SQL éditable
  • ✅ Gestion des index (les index d'une table ne sont plus en lecture seule)
    • 🔧 REBUILD / REORGANIZE sur n'importe quel index, via le menu contextuel
    • ⏯️ Activer / désactiver un index
    • 📄 Générer le CREATE INDEX d'un index existant dans un document SQL éditable
    • 🆕 Assistant de création : portée (table / vue), colonnes (ASC/DESC), INCLUDE, options UNIQUE / FILTER / ONLINE
    • 📊 Rapport de fragmentation (sys.dm_db_index_physical_stats) : fragmentation, pages fantômes, taille, et recommandation REBUILD (> 30 %) / REORGANIZE (10-30 %)
  • ✅ Concepteur de déclencheurs (les déclencheurs ne sont plus en lecture seule)
    • ⚡ Liste des déclencheurs d'une base : type (AFTER / INSTEAD OF), événements, table parente, dates et corps SQL
    • 🆕 Assistant de création (table, type, événements, nom, activation) générant un CREATE OR ALTER TRIGGER pré-rempli
    • ✏️ Ouvrir la définition d'un déclencheur pour la modifier
    • ⏯️ Activer / désactiver un déclencheur (ENABLE / DISABLE TRIGGER)
    • 🗑️ Supprimer un déclencheur, 📄 en générer le script dans un onglet SQL
  • ✅ Générateur de données de test (menu contextuel sur une table)
    • 🧪 Génère N lignes (jusqu'à 100 000) à partir du schéma réel de la table
    • 🎭 Valeurs plausibles et non aléatoires brutes : un nom ressemble à un nom, un email est dérivé du nom, une adresse contient une ville réelle, une date est dans le passé
    • 🏷️ Rôles sémantiques déduits du nom de colonne (Email, Prix, DateCreation, Statut…) — aucune configuration nécessaire
    • 🛡️ Respect strict du schéma : colonnes identité et calculées écartées, precision/scale et longueurs respectées, échappement SQL systématique
    • 🎛️ Options réglables : nombre de lignes, plage de dates, taux de NULL sur les colonnes nullables
    • 🔁 Générateur déterministe : la même graine rejoue exactement le même jeu de données (utile pour reproduire un bug)
    • 📄 Script INSERT (par lots) ouvert dans un éditeur SQL, prêt à exécuter
  • ✅ Tables temporelles (system-versioned)
    • 🕒 Badge 🕒 dans l'explorateur : les tables temporelles sont distinguées visuellement des tables classiques
    • 🕒 Voir l'historique complet d'une table, ou son état à une date précise (FOR SYSTEM_TIME AS OF)
    • ⚖️ Comparer l'état de la table entre deux instants, en affichant les lignes modifiées
    • 📊 État de la table d'historique : volume total, période couverte, répartition par mois, politique de rétention
    • 📄 Script de la table temporelle (avec PERIOD FOR SYSTEM_TIME et HISTORY TABLE) dans un document SQL éditable
    • ℹ️ Le cas HISTORY_TABLE = NULL (historique conservé par l'application) est détecté et signalé plutôt que d'échouer
  • ✅ Rapports statistiques détaillés
  • ✅ Export tables et résultats de requête vers Excel, CSV et JSON
  • ✅ Diagramme visuel des relations entre tables

🛟 Support

Si vous rencontrez un problème:

  1. Consultez le Guide de dépannage
  2. Vérifiez les Correctifs connus
  3. Ouvrez une issue sur GitHub: https://github.com/ElHoussineDarrazi/sqldatabaseorganizer/issues

📄 Licence

Projet développé par El Houssine DARRAZI Licence ISC - Voir fichier LICENSE pour plus de détails.


💡 Note: Cette extension est en développement actif. De nouvelles fonctionnalités sont ajoutées régulièrement. Consultez régulièrement le CHANGELOG pour suivre les mises à jour.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft