12 Stimmen

SQL-Server: Warum SMO verwenden?

Ich arbeite seit ein paar Jahren mit SQL Server. Ich habe von SMO gehört, aber ich weiß nichts darüber. Was sind die Vorteile seiner Verwendung? Sollte ich SMO erlernen und in meinen SQL Server-Projekten (hauptsächlich bei der Entwicklung von Data Warehouses) einsetzen? Und warum?

6voto

D'Arcy Rittich Punkte 159655

Von Microsoft:

Überblick (SMO)

SQL Server-Verwaltungsobjekte (SMO) sind Objekte, die für die programmatische Verwaltung von Microsoft SQL Server entwickelt wurden. Sie können SMO verwenden, um angepasste SQL Server-Verwaltungsanwendungen erstellen. Obwohl SQL Server Management Studio eine leistungsstarke und umfangreiche Anwendung für die Verwaltung von SQL Server ist, kann es Zeiten geben, in denen Sie mit einer besser mit einer SMO-Anwendung bedient.

Zum Beispiel, die Benutzeranwendungen die die SQL Server-Verwaltungsaufgaben steuern Aufgaben steuern, müssen möglicherweise vereinfacht werden auf um den Bedürfnissen neuer Benutzer gerecht zu werden und um Ausbildungskosten zu reduzieren. Sie müssen möglicherweise angepasste SQL Server-Datenbanken erstellen Datenbanken erstellen, oder eine Anwendung zur Erstellung und Überwachung der Effizienz von Indizes. Eine SMO Anwendung kann auch verwendet werden, um Hardware oder Software von Drittanbietern Software nahtlos in die Datenbank Verwaltungsanwendung einzubinden.

Das SMO-Objektmodell erweitert und und ersetzt das Distributed Management Objects (SQL-DMO) Objektmodell. Im Vergleich zu SQL-DMO erhöht SMO Leistung, Kontrolle und Benutzerfreundlichkeit. Die meisten Funktionen von SQL-DMO sind in in SMO enthalten, und es gibt verschiedene neue Klassen, die neue Funktionen in SQL Server unterstützen. Das Objektmodell ist intuitiv und verwendet SQL-DMO Terminologie, wo dies möglich ist, um den Transfer Ihrer Kenntnisse zu erleichtern.

Sie können SMO hier herunterladen:

Microsoft® SQL Server® 2008 R2 Funktionspaket

Und für den Einstieg in die Programmierung:

Erstellung von SMO-Programmen

5voto

Jeff Hornby Punkte 12050

Das hängt davon ab, was Sie erreichen wollen. SMO steht für SQL Server Management Objects. Dabei handelt es sich um eine Reihe von Bibliotheken für die programmatische Verwaltung von SQL Server. Wenn Sie zum Beispiel versuchen, einen Klon von SQL Maangement Studio zu erstellen, dann ist SMO etwas, das Sie wahrscheinlich in Betracht ziehen sollten. Oder wenn Sie versuchen, die Struktur Ihrer Datenbank programmatisch zu verändern, dann ist das die richtige Adresse.

Sonst würde ich mir die Mühe nicht machen.

3voto

john.da.costa Punkte 4554

Ich habe SMO verwendet, um automatisch Objektcode und Benutzerrechte auszuschreiben und zur Versionskontrolle hinzuzufügen.

Auf diese Weise kann ich Berechtigungen oder Objekt-DDL ab einem bestimmten Zeitpunkt für mein Auditing-Team oder meine eigene Forschung oder zum Klonen eines Servers speichern.

Ich verwende es auch, um Objektcode aus bestimmten Zeiträumen schnell vergleichen zu können, ohne einen Snapshot oder ein Backup zu benötigen.

Kürzlich habe ich SMO in einem Disaster-Recovery-Projekt verwendet, um alle Server-Berechtigungen und System-Datenbank-Objekt-Berechtigungen per Skript zu entfernen und das Skript auf dem Ersatzserver auszuführen.

0voto

Sierra Punkte 51

Ich habe kürzlich eine POS/Work Order Management-Anwendung mit einem SQL-Datenbank-Backend und der SMO-Bibliothek erstellt. Die SMO gab meiner Anwendung eine Menge Flexibilität, um die Datenbank in Bezug auf Arbeitsauftragsdatensätze, Benutzerdatensätze und sogar meine eigene Reihe von Benutzerrollen zu kontrollieren. Das half mir, SQL-Benutzer bei der Verwaltung einer bestimmten Datenbank zu differenzieren. Meiner Meinung nach hängt also alles davon ab, in welchem Umfang Sie SQL verwenden und wie sehr Sie bestimmte Aspekte Ihrer SQL-Datenbank automatisieren und kontrollieren müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X