Session des Journées SQL Server 2014 - Grégory Boge & Philippe Geiger
---
Grâce aux bibliothèques SMO fournies par Microsoft, vous pouvez automatiser énormément d’opérations sur vos serveurs SQL. Dans cette session, vous apprendrez comment débuter un projet C# avec SMO dans Visual Studio puis vous découvrirez avec des exemples de code comment sauvegarder des bases, lister les droits d’un utilisateur, scripter des objets, migrer des filegroups, etc…
8. #JSS2014
• SMO est l’ensemble des bibliothèques
fournies par Microsoft qui permettent
d’administrer des instances SQL Server et
les bases de données.
• Remplace SQL-DMO
• Assembly .NET
Définition
10. #JSS2014
• Environnement de développement .NET
• Pas de T-SQL
• Compatible avec toutes les versions de
2005 à 2014
• Simplicité d’implémentation
Avantages
12. #JSS2014
• Première prise en main
– SQL Server PowerShell utilise aussi SMO
• Créer un projet dans Visual Studio
– Mise en place de l’environnement
– Connexion à SQL Server
Scénario 1 : Démarrer un projet
13. #JSS2014
• Exemple d’opérations de maintenance :
– Sauvegarder des bases de données
– Défragmenter des index
Scénario 2 : Opérations de maintenance
14. #JSS2014
• SMO fournit des objets puissants pour
générer le script de création de n’importe
quel objet d’une instance
Scénario 3 : Génération de scripts DDL
15. #JSS2014
• Afin d’améliorer les performances par
rapport à SQL-DMO, SMO n’instancie les
objets que partiellement.
• Pour éviter les traitements unitaires, il
convient d’utiliser la méthode
SetDefaultInitFields
Scénario 4 : Performances
16. #JSS2014
• AMO est l’équivalent de SMO pour Analysis
Services
• Compatible Tabular et Multi-dimensionnelle
Scénario 5 : Et les cubes SSAS ?
Programmation objet
Si l’option est disponible dans SSMS, alors elle est surement disponible via SMO
Assembly .Net : utilisable en Powershell, C#, VB.Net
SQL-DMO était un objet COM et beaucoup moins performant car il instanciait toutes les valeurs des objets.
On a besoin uniquement de visual studio (express edition suffit) et du feature pack sql server (on peut récupérer avec SSMS)
Le t-sql est généré automatiquement
Certaines fonctionnalités fonctionnent tout de même sur SQL Server 2000
Microsoft.analysisservices disponible dans le feature pack