Quelques trucs et astuces sur Microsoft SQL Server.
Ce projet utilise un devcontainer Docker pour fournir :
- Une base de données Microsoft SQL Server 2022 accessible localement
- Un conteneur de développement Debian pour se connecter via VS Code
- Docker
- Visual Studio Code
- Extension VS Code : Dev Containers (ou "Remote - Containers")
.devcontainer/
├── devcontainer.json
├── docker-compose.yml
workspace/
└── (vos fichiers de projet)- dev : conteneur Debian pour le développement (VS Code se connecte ici)
- sqlserver : conteneur SQL Server 2022
- Cloner le projet
git clone <url-du-repo>
cd <repo>- Ouvrir dans VS Code
- Lancer la commande Reopen in Container
- Attendre le démarrage des services
- Connexion SQL Server (via SSMS ou autre)
- Serveur : localhost,1433
- Utilisateur : sa
- Mot de passe : YourStrong!Passw0rd
Vous pouvez modifier ce mot de passe dans docker-compose.yml
Redémarrer le conteneur :
docker compose down && docker compose up -dAfficher les logs SQL Server :
docker logs sqlserverVous pouvez :
- Installer sqlcmd dans le conteneur dev pour requêter la base en ligne de commande
- Ajouter des scripts SQL d'initialisation dans un volume ou un entrypoint
- Quelques bons conseils
- Trouver le port TCD
- Lister tous les comptes locaux qui peuvent se connecter
- Lister tous les comptes AD qui peuvent se connecter
- Changer le mot de passe actuel du compte local
- Restaurer le mot de passe du compte local
- Générer les permissions sur les objets
- Lister les permissions sur les objets ainsi que leur propriétaire
- Supprimer les index hypothétiques
- Trouver les index dupliqués
- Reconstruire les index
- Trouver les index inutiles
- Trouver les index manquants #1
- Trouver les index manquants #2
- Déterminer la sélectivité des colonnes d'un index
- Supprimer et recréer toutes les contraintes
- Supprimer toutes les clés étrangères d'une base de données
- Lister toutes les tables qui n'ont pas de clés étrangères
- Lister toutes les dépendances de la base de données
- Lister les tables orphelines (sans contraintes d'intégrité référentielle)
- Lister les tables contenant des identifiants mais sans clés étrangères
- Lister les tables avec contraintes, valeurs par défaut, règles, déclencheurs, ...
- Lister les tables sans clé primaire
- Lister les tables sans index clustered (et sans aucun index également)
- Top 10 des tables les plus indexées
- Lister les tables avec des clés étrangères
- Supprimer un historique de données d'une table en fonction de ses dépendances
- Un résumé de la structure des tables
- Obtenir le contenu de chaque colonne d'une table
- Obtenir la longueur maximale d'une donnée
- Obtenir le nombre de tables par schéma
- Lister les tables qui n'ont pas de documentation dans les propriétés étendues
- Recherche un colonne dans l'ensemble des tables d'une base de données
- Analyse d'impact
- Suppression de données en lot
- Générer l'instruction BCP pour une table spécifiée
- Générer l'instruction BCP pour l'ensemble des tables d'une base de données
- Obtenir l'espace disponible pour un serveur
- Obtenir la date de la dernière sauvegarde réalisée
- Vérification de la mémoire utilisée
- Obtenir le nombre de lignes et l'espace occupé (alloué, utilisé et inutilisé) par chaque table
- Obtenir les informations système du serveur de base de données
- Réaliser un diagnostic pour SQL Server 2012
- Recalcule les statistiques des tables
- Obtenir la fragmentation détaillée des index
- Obtenir la fragmentation des index
- Volumetrie présente dans la base de données
- Obtenir les dernières modifications réalisées sur la base de données
- Top 20 des requêtes les plus longues
- Obtenir la liste optimales des colonnes pour définir une clé primaire
- Obtenir le statut d'un job
- Obtenir la structure des tables de la base de données
- Obtenir la liste des objets de chaque table
- Cycles Adventure Works - Exemple de base de données
- Adventure Works - Exemple de base de données
- SQL Authority - Une référence sur MS SQL Server
- SQL Server Maintenance Solution - Solution de maintenance pour MS SQL Server (sauvegarde, intégrité référentielle, plan de maintenance des index et des statistiques, ...) réalisé par Ola Hallengren
Si vous souhaitez contribuer, lisez le fichier CONTRIBUTING.md pour savoir comment procéder.
