SMO représente une collection complète d’objets managés (donc .Net) permettant d’administrer directement depuis un programme tiers un serveur SQL SERVER. L’avantage de SMO, par rapport à la méthode ADO.NET, réside dans l’encapsulation quasi complète de tous les scripts SQL dans des objets et méthodes .NET, nous abstrayant
SMO : Sql Management Objects
![SMO : Sql Management Objects SMO : Sql Management Objects](https://www.itpro.fr/wp-content/uploads/2015/09/676c8530b1b524db17d0392194cf9e1f.jpg)
des connaissances du langage SQL.
Attention, l’ensemble des objets SMO vont tout de même effectuer cette opération de génération de scripts SQL, il n’en reste pas moins que le script SQL reste la seule façon de communiquer avec un Serveur SQL SERVER 2008. Compatibilité de SMO SMO vient prendre la succession de DMO, ancien modèle objets. SMO arrive depuis la version 2005 de SQL SERVER, mais il permet tout de même d’administrer via sa collection d’objets des serveurs SQL SERVER 7.0, 2000, 2005 et bien sûr 2008.
Attention toute fois, inutile d’essayer des fonctionnalités existantes dans SQL SERVER 2008 sur un serveur SQL SERVER 2005 ! Transposition de notre projet .NET Nous reprenons le même exemple que précédemment. L’interface graphique ne bouge plus, seule la façon de faire le backup change.
Tout d’abord, avant de commencer à modifier notre code, il est nécessaire de rajouter à notre projet l’ensemble des références aux assemblies .NET de SMO. Elles sont au nombre de 5 : I) Microsoft.SqlServer.Connec – tionInfo II) Microsoft.SqlServer.Management .Sdk.Sfc III) Microsoft.SqlServer.Smo IV) Microsoft.SqlServer.SmoExten ded V) Microsoft.SqlServer.SqlEnum Voir Figure 7.
SMO permet de facilement se connecter à un quelconque SERVER, via son nom ou tout simplement une chaîne de connexion et nous expose dans l’espace de nom Microsoft. SqlServer.Manage ment.Smo un premier objet .NET : Server Server CurrentServer = new Server(@"local\sql2008"); Un objet SMO Server contient une collection de bases de données, que nous pouvons facilement parcourir et ainsi récupérer la base de données sur laquelle nous voulons effectuer une sauvegarde sous la forme d’un deuxième objet .NET : Database: Database CurrentDatabase = CurrentServer.Databases ["PerfSamples"]; Il ne reste plus qu’à migrer notre code en utilisant l’encapsulation fournie par SMO et un troisième objet .NET : Backup: Voir listing 4.
Le reste du code restant semblablement identique au précédent exemple SMO permet bien d’encapsuler tous les appels au serveur SQL SERVER, sans avoir à se soucier du langage SQL. Il représente l’ensemble de tous les objets et commandes disponibles dans SQL SERVER. Il permet de créer une application entière dédiée à l’administration de SQL SERVER.
Nous en voulons pour preuve de son efficacité une application .NET qui permet d’administrer un serveur SQL SERVER via SMO : La console d’administration SQL SERVER ! Celle-ci même que nous présentions précédemment. Et bien sachez tout d’abord que cette application a été développée en .NET d’une part et que d’autre part elle appelle directement l’ensemble des méthodes et objets fournis par SMO.
Une preuve en image : La génération d’un backup différentiel est interdite tant qu’un backup complet n’existe pas. Le message d’erreur renvoyé par la console de gestion de SQL SERVER nous prouve bien l’appel de SMO : Voir Figure 8.
Téléchargez cette ressource
![Comment lutter contre le Phishing ?](https://www.itpro.fr/wp-content/uploads/2024/07/Special-Report-Eviden-Securite-Phishing-Juillet-2024.png)
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Impact de l’IA générative sur le lieu de travail
- Red Sift : une proposition clé pour sécuriser le patrimoine numérique
- Cloud Temple : le cloud de confiance de référence du marché français et européen
- Fusion d’identités avec Binary Tree Directory Sync Pro
- Contrôler et optimiser les dépenses informatiques dans le contexte macroéconomique actuel
![Revue Smart DSI](https://www.itpro.fr/wp-content/uploads/2024/07/SMART-DSI-Numero-34-Juin-2024.jpg)