Confronto tra SMO e SQL-DMO
SMO (SQL Server Management Objects) è un modello di oggetti del codice gestito introdotto in SQL Server 2005. Sostituisce SQL Distributed Management Objects (SQL-DMO). Come SQL-DMO, SMO fornisce oggetti utilizzati per gestire SQL Server. Il modello di programmazione è stato migliorato e il numero di oggetti è aumentato per comprendere funzionalità introdotte in SQL Server 2005. A partire da SQL Server 2008, SMO è basato su SFC (SQL Server Foundation classes). In SQL Server 2008 viene anche introdotto il modello di oggetti DMF (Policy-Based Management).
In SMO sono incluse le funzionalità seguenti:
Prestazioni migliorate. Gli oggetti vengono caricati solo quando viene fatto loro riferimento in modo specifico. Le proprietà degli oggetti vengono caricate solo parzialmente quando si creano gli oggetti. Gli oggetti rimanenti vengono caricati quando viene fatto loro riferimento in modo diretto.
Acquisizione ed esecuzione in batch delle istruzioni Transact-SQL. Le istruzioni possono essere acquisite e inviate in batch per migliorare le prestazioni di rete.
Gestione di servizi SQL Server con il provider WMI. I servizi SQL Server possono essere avviati, interrotti e sospesi a livello di codice.
Generazione di script avanzata. Gli script Transact-SQL possono essere generati per ricreare oggetti SQL Server che descrivono le relazioni con altri oggetti nell'istanza di SQL Server.
Il trasferimento di dati viene eseguito all'esterno della funzionalità di generazione di script ed è basato su Integration Services.
Utilizzo di nomi di risorse univoci (URN).
Gestione degli eventi che consente allo sviluppatore di inserire codice eseguito quando si verifica un evento specifico.
Eccezioni utilizzate per identificare errori SMO specifici.
Migliore copertura degli oggetti di database. Ad esempio, l'oggetto ForeignKey consente un controllo maggiore sulle chiavi esterne.
In SMO sono inoltre rappresentati come nuovi oggetti o proprietà numerose funzionalità e componenti introdotti in SQL Server 2005. Queste nuove funzionalità e componenti includono:
Partizionamento di tabelle e indici per l'archiviazione di dati in uno schema di partizione. Per ulteriori informazioni, vedere Concetti di base su indici e tabelle partizionate.
Endpoint HTTP per la gestione di richieste SOAP. Per ulteriori informazioni, vedere Modalità di funzionamento del supporto per le sessioni SOAP.
Isolamento dello snapshot e controllo delle versioni a livello di riga per maggiore concorrenza. Per ulteriori informazioni, vedere Utilizzo dell'isolamento dello snapshot.
La raccolta di schemi XML, gli indici XML e il tipo di dati XML garantiscono la convalida e l'archiviazione di dati XML. Per ulteriori informazioni, vedere Utilizzo di schemi XML e Utilizzo di tipi di dati XML.
Database di punti di vista per la creazione di copie di database in sola lettura.
Supporto di Service Broker per comunicazione basata su messaggi. Per ulteriori informazioni, vedere SQL Server Service Broker.
Supporto di sinonimi per più nomi di oggetti di database SQL Server. Per ulteriori informazioni, vedere Informazioni sui sinonimi.
Gestione di Posta elettronica database per la creazione di server, profili e account di posta elettronica in SQL Server. Per ulteriori informazioni, vedere Posta elettronica database.
Supporto di server registrati per la registrazione di informazioni di connessione. Per ulteriori informazioni, vedere Gestione dei server registrati.
Analisi e riproduzione di eventi SQL Server. Per ulteriori informazioni, vedere Utilizzo di SQL Server Profiler e Utilizzo di Traccia SQL.
Supporto di certificati e chiavi per il controllo di protezione. Per ulteriori informazioni, vedere Gerarchia di crittografia.
Trigger DDL per l'aggiunta di funzionalità quando si verificano eventi DDL. Per ulteriori informazioni, vedere Trigger DDL.