| Gestione dei dati aziendali | |
| Produttività degli sviluppatori | |
| Business Intelligence | |
| Aggiornamento a SQL Server 2005 | |
| Altri passaggi |
Nell'attuale mondo delle connessioni globali è di fondamentale importanza che i dati e i sistemi con cui questi vengono gestiti siano sempre protetti e disponibili per gli utenti. Grazie a SQL Server 2005, gli utenti e i professionisti IT all'interno delle organizzazioni potranno sfruttare vantaggi quali minori tempi di inattività per le applicazioni, maggiori livelli di scalabilità e prestazioni e controlli di protezione rigorosi e al contempo flessibili. SQL Server 2005 comprende anche molte nuove funzionalità e miglioramenti che contribuiscono ad aumentare la produttività del personale IT. I miglioramenti principali nella gestione dei dati aziendali introdotti in SQL Server 2005 riguardano le aree seguenti:
| • | Gestibilità |
| • | Disponibilità |
| • | Scalabilità |
| • | Protezione |
SQL Server 2005 semplifica e facilita le attività di distribuzione, gestione e ottimizzazione dei dati aziendali e delle applicazioni analitiche. In qualità di piattaforma per la gestione dei dati aziendali, fornisce un'unica console di gestione che da qualsiasi posizione nell'organizzazione consente agli amministratori dei dati di monitorare, gestire e regolare tutti i database e i servizi associati che operano nell'azienda. SQL Server 2005 offre un'infrastruttura di gestione estensibile, facile da programmare mediante l'utilizzo di oggetti SMO (SQL Management Objects) che consentono agli utenti di personalizzare ed estendere l'ambiente di gestione e ai produttori di software indipendenti (ISV) di sviluppare strumenti e funzionalità aggiuntivi in grado di migliorare le potenzialità standard.
SQL Server 2005 semplifica la gestione offrendo una console integrata per monitorare e gestire i database relazionali di SQL Server, nonché Integration Services, Analysis Services, Reporting Services, Notification Services e SQL Server Mobile Edition su un numero considerevole di server e database distribuiti. Gli amministratori di database sono in grado di svolgere varie attività contemporaneamente, quali la creazione e l'esecuzione di query, la visualizzazione degli oggetti server, la gestione di un oggetto, il monitoraggio delle attività del sistema e la consultazione della guida in linea. SQL Server Management Studio comprende un ambiente di sviluppo per comprende un ambiente di sviluppo per la creazione, la modifica e la gestione di stored procedure mediante Transact-SQL, Multidimensional Expressions, XML for Analysis e SQL Server Mobile Edition. Management Studio è perfettamente integrato con la funzione di controllo del sorgente e comprende anche strumenti per la pianificazione dei processi di SQL Server Agent e la gestione dei piani per automatizzare la manutenzione giornaliera e le attività operative. L'integrazione in un unico strumento delle funzioni di gestione e creazione abbinata alla possibilità di gestire tutti i tipi di server garantisce agli amministratori di database una maggiore produttività.
SQL Server 2005 mette a disposizione più di 70 nuove misurazioni delle prestazioni interne dei database e dell'utilizzo delle risorse che variano dalla memoria, blocco e pianificazione alle transazioni, rete e I/O del disco. Queste viste a gestione dinamica offrono una maggiore trasparenza e visibilità dei database e una potente infrastruttura per il monitoraggio attivo della condizione di efficienza e delle prestazioni dei database.
SMO (SQL Management Objects) è una nuova serie di oggetti di programmazione che mette a disposizione tutte le funzionalità di gestione dei database di SQL Server. In effetti, Management Studio è stato realizzato tramite SMO. SMO è implementato come assembly di Microsoft .NET Framework. È possibile utilizzare SMO per automatizzare attività di amministrazione comuni di SQL Server, quali il recupero a livello di programmazione delle impostazioni di configurazione, la creazione di nuovi database, l'applicazione di script Transact-SQL, la creazione di processi di SQL Server Agent e la pianificazione dei backup. Il modello a oggetti SMO rappresenta una sostituzione più sicura, affidabile e scalabile di DMO (Distributed Management Objects), incluso con le versioni precedenti di SQL Server.
Gli investimenti in tecnologie ad alta disponibilità, funzionalità di backup e ripristino aggiuntive e miglioramenti in termini di operazioni di replica consentiranno alle aziende di sviluppare e distribuire applicazioni ad elevata disponibilità. Le funzionalità innovative in termini di alta disponibilità quali mirroring dei database, clustering di failover, snapshot di database e operazioni in linea migliorate consentiranno una riduzione dei di inattività e un aumento delle garanzie di accessibilità dei sistemi aziendali critici. In questa sezione vengono esaminati più in dettaglio questi miglioramenti.
Il mirroring dei database rende possibile il flusso costante del log delle transazioni da un server di origine a un unico server di destinazione. Nel caso di un errore del sistema primario, le applicazioni possono riconnettersi immediatamente al database sul server secondario. L'istanza secondaria rileva l'errore del server primario nel giro di pochi secondi e accetta immediatamente le connessioni di database. Il mirroring dei database funziona sull'hardware di server standard e non richiede la presenza di speciali sistemi di archiviazione o controller. Nella figura 1 è mostrata la configurazione di base del mirroring dei database.

Figura 1. Configurazione di base del mirroring di database
Il clustering di failover rappresenta una soluzione per l'alta disponibilità che sfrutta Microsoft Windows Clustering Services per creare server virtuali a tolleranza di errori che offrono il failover veloce nel caso si verifichino problemi in un server di database. In SQL Server 2005, il supporto del clustering di failover è stato esteso a SQL Server Analysis Services, Notification Services e alla replica di SQL Server. Il numero massimo di nodi di cluster è stato aumentato a otto. Il clustering di failover di SQL Server ora costituisce una soluzione completa per server a tolleranza di errori.
| Funzionalità di disponibilità | Mirroring dei database | Clustering di failover |
Failover automatico | Sì | Sì |
Reindirizzamento trasparente dei client | Sì, reindirizzamento automatico | Sì, riconnessione allo stesso IP |
Impatto sulla velocità effettiva generale | Nessun impatto minimo | Nessun impatto |
Nessuna perdita di lavoro | Sì | Sì |
Richiede hardware certificato | No | Sì |
Fornisce dati ridondanti | Sì | No |
SQL Server 2005 introduce per gli amministratori di database la possibilità di creare viste immediate e di sola lettura di un database. Questo snapshot di database offre una vista stabile senza l'overhead di tempo o archiviazione necessario per la creazione di una copia completa del database. Nel momento in cui il database primario si discosta dallo snapshot, questo aggiunge la propria copia delle pagine modificate. Come risultato, lo snapshot può essere utilizzato per recuperare rapidamente una modifica accidentale a un database riapplicando semplicemente al database primario le pagine originali nello snapshot.
SQL Server 2005 migliora la disponibilità dei database di SQL Server tramite una nuova e più veloce opzione di recupero. Gli utenti sono in grado di riconnettersi a un database di recupero dopo che è stato eseguito il roll forward del log delle transazioni. Nelle versioni precedenti di SQL Server gli utenti dovevano attendere il completamento del roll back delle transazioni, anche se non avevano la necessità di accedere ad altre parti del database.
SQL Server 2005 introduce una connessione amministrativa dedicata per accedere a un server in esecuzione anche se non risponde o non è altrimenti disponibile. Questo consente di eseguire funzioni diagnostiche o istruzioni Transact-SQL in modo da risolvere eventuali problemi su un server. La connessione viene attivata dai membri del ruolo predefinito del server sysadmin ed è disponibile solo dal prompt dei comandi SQLCMD a livello locale o da un computer remoto.
La possibilità di creare, ricostruire o eliminare un indice in linea rappresenta una funzionalità migliorata di SQL Server 2005 che accresce le potenzialità di indicizzazione delle versioni precedenti del prodotto. L'opzione di indicizzazione in linea consente di effettuare modifiche contemporanee quali aggiornamenti, eliminazioni e inserimenti nella tabella sottostante o nei dati di indice in cluster e a tutti gli indici associati durante l'esecuzione di istruzioni DDL (Data Definition Language). Grazie al supporto delle operazioni sugli indici in linea, è possibile aggiungere indici senza interferire con l'accesso alle tabelle o ad altri indici esistenti. Inoltre, il carico di lavoro del server consente alle operazioni sugli indici di sfruttare i vantaggi dell'elaborazione parallela. SQL Server 2005 introduce anche la possibilità di eseguire un'operazione di ripristino mentre un'istanza di SQL Server è in esecuzione. Il ripristino in linea aumenta la disponibilità di SQL Server perché solo i dati che vengono ripristinati non sono disponibili mentre il resto del database rimane in linea e disponibile. Nelle versioni precedenti di SQL Server per ripristinare il database era necessario impostarlo non in linea.
La replica è progettata per aumentare la disponibilità dei dati tramite la relativa distribuzione su diversi server di database. La disponibilità viene aumentata consentendo alle applicazioni di distribuire il carico di lavoro della lettura di SQL Server tra i database. SQL Server 2005 offre una funzione di replica migliorata che utilizza un nuovo modello peer-to-peer in grado di fornire una nuova topologia nella quale i database possono essere sincronizzati a livello di transazioni con qualsiasi database peer.
I miglioramenti in termini di scalabilità come il partizionamento delle tabelle, l'isolamento degli snapshot e il supporto a 64 bit consentiranno di sviluppare e distribuire le applicazioni più complesse mediante SQL Server 2005. Il partizionamento di tabelle e indici di grandi dimensioni migliora notevolmente le prestazioni delle query in database molto grandi.
Il partizionamento di tabelle e indici facilita la gestione dei database di grandi dimensioni consentendo di operare su blocchi di database più piccoli e maneggevoli. Anche se il concetto di partizionamento dei dati tra tabelle, database e server non costituisce una novità nel mondo dei database, SQL Server 2005 offre una nuova possibilità di partizionare le tabelle tra filegroup in un database. Il partizionamento orizzontale rende possibile la divisione di una tabella in raggruppamenti più piccoli basati su uno schema di partizione. Il partizionamento delle tabelle è progettato per database molto grandi con dimensioni che vanno dalle centinaia di gigabyte fino ai terabyte e oltre.
Dopo che i dati sono stati copiati, trasformati e archiviati in un database orientato all'analisi, è necessario che vengano mantenuti e/o ricostruiti periodicamente. Un vantaggio certo per gli utenti è la consultazione di una versione del database coerente a livello di transazioni; tuttavia, la versione dei dati che viene visualizzata non è più aggiornata. Le operazioni di ricostruzione e indicizzazione dei dati possono richiedere molte ore e questo non è un punto a favore. Qui si rivela utile l'isolamento dello snapshot. Il livello di isolamento dello snapshot consente agli utenti di accedere all'ultima riga per la quale è stato eseguito il commit utilizzando una vista coerente delle transazioni del database. Questo nuovo livello di isolamento offre i seguenti vantaggi:
| • | Maggiore disponibilità dei dati per applicazioni in sola lettura. |
| • | Operazioni di lettura senza blocco consentite in un ambiente OLTP (Online Transaction Processing). |
| • | Rilevamento dei conflitti automatico e obbligatorio delle transazioni in scrittura. |
| • | Migrazione semplificata delle applicazioni da Oracle a SQL Server. |
Lo strumento Monitoraggio replica stabilisce un nuovo standard per la facilità d'uso nell'utilizzo di operazioni complesse di replica dei dati grazie a un'interfaccia utente intuitiva e a numerose metriche dei dati.
Ottimizzato per il processore Intel Itanium, SQL Server (64 bit) sfrutta per le risorse essenziali i vantaggi delle funzionalità avanzate di indirizzamento della memoria quali pool di buffer, cache ed heap brevi, riducendo la necessità di eseguire diverse operazioni di I/O per scambiare i dati tra memoria e disco. La maggiore capacità di elaborazione senza le penalizzazioni della latenza di I/O apre la porta a nuovi livelli di scalabilità delle applicazioni. Windows Server 2003 x64 offre elevate prestazioni per applicazioni a 32 bit e a 64 bit in esecuzione nello stesso sistema. L'architettura sottostante è basata sulle estensioni a 64 bit del set di istruzioni x86 standard, consentendo alle attuali applicazioni a 32 bit di essere eseguite in modalità nativa su processori x64. Allo stesso tempo, le nuove applicazioni a 64 bit vengono eseguite nella modalità a 64 bit, la quale elabora una maggiore quantità di dati per ciclo di clock, consente un maggiore accesso alla memoria e accelera i calcoli numerici. Il risultato è una piattaforma che trae vantaggio dal patrimonio di applicazioni a 32 bit esistenti offrendo inoltre una migrazione trasparente verso l'elaborazione a 64 bit.
SQL Server 2005 apporta miglioramenti significativi al modello di protezione della piattaforma di database con l'intento di fornire un controllo più preciso e flessibile per garantire una protezione dei dati più rigorosa. È stato effettuato un investimento considerevole in varie funzionalità per offrire un livello elevato di protezione dei dati aziendali, tra cui:
| • | Applicazione di criteri di protezione per password di accesso a SQL Server nello spazio di autenticazione. |
| • | Offerta di una maggiore granularità in termini di specifica delle autorizzazioni ai vari ambiti nello spazio di autorizzazione. |
| • | Possibilità di separazione di proprietari e schemi nello spazio di gestione della protezione. |
Un nuovo modello di protezione in SQL Server 2005 consente agli amministratori di gestire le autorizzazioni a un livello granulare e in un ambito definito, semplificando la gestione delle autorizzazioni e garantendo la difesa del principio dei privilegi minimi. SQL Server 2005 consente di specificare un contesto nel quale vengono eseguite le istruzioni presenti in un modulo. Questa funzionalità agisce anche come eccellente meccanismo per la gestione di autorizzazioni granulari.
Il clustering di SQL Server 2005 supporta l'autenticazione Kerberos su un server virtuale SQL Server 2005. Gli amministratori sono in grado di specificare criteri di protezione in stile Microsoft Windows su accessi standard in modo che venga applicato un criterio di protezione coerente a tutti gli account presenti nel dominio.
SQL Server 2005 supporta funzionalità di crittografia all'interno del database stesso, pienamente integrate con un'infrastruttura di gestione delle chiavi. Per impostazione predefinita, le comunicazioni client/server vengono crittografate. Per centralizzare la garanzia della protezione, è possibile definire criteri di protezione dei server per rifiutare le comunicazioni non crittografate.
L'iniziativa Trustworthy Computing di Microsoft delinea un framework che definisce i passaggi necessari per supportare un'elaborazione più sicura e le misure che aiutano a distribuire e mantenere un ambiente più sicuro. Questi passaggi contribuiscono a proteggere la riservatezza, integrità e disponibilità dei dati e dei sistemi in ogni fase del ciclo di vita del software, dalla progettazione alla consegna fino alla manutenzione. Per sostenere i quattro principi dell'iniziativa Trustworthy Computing, Microsoft e il team di SQL Server hanno affrontato i seguenti problemi:
| • | Protezione in fase di progettazione. Il team di sviluppo di SQL Server ha condotto diversi controlli di protezione e ha impegnato più di due mesi nello studio dei componenti di SQL Server e della relativa interazione reciproca. Per ciascuna minaccia potenziale al sistema di protezione, il team ha svolto un'analisi per valutare il problema e ha completato un lavoro aggiuntivo di progettazione e test per neutralizzare i potenziali problemi di protezione. Grazie a questo impegno progettuale, SQL Server 2005 comprende molte nuove funzionalità di protezione dei server. |
| • | Protezione per impostazione predefinita. Dopo l'installazione, SQL Server 2005 sceglie la giusta combinazione di valori di configurazione per tutte le opzioni di configurazione, garantendo per impostazione predefinita la protezione di ogni nuovo sistema che verrà installato. |
| • | Protezione in fase di distribuzione. Microsoft ha creato dei contenuti per aiutare le organizzazioni a distribuire SQL Server mediante le credenziali di protezione appropriate e a comprendere a fondo i passaggi e le autorizzazioni necessarie. Gli strumenti di distribuzione di SQL Server offrono le informazioni necessarie per conoscere le decisioni da prendere durante la distribuzione. Gli aggiornamenti della protezione sono facili da trovare e installare, anche automaticamente scegliendo l'opzione appropriata. Sono disponibili anche strumenti per aiutare a valutare e gestire i rischi per la protezione nelle organizzazioni. |
SQL Server 2005 comprende molte nuove tecnologie che apportano miglioramenti significativi della produttività. Dal supporto di .NET Framework alla stretta integrazione con Visual Studio, queste funzionalità offrono agli sviluppatori la possibilità di creare più facilmente applicazioni di database efficaci, sicure e a costi inferiori. SQL Server 2005 consente agli sviluppatori di sfruttare le competenze esistenti su vari linguaggi di programmazione fornendo un ambiente di sviluppo end-to-end per il database. Funzionalità XML native consentono inoltre di realizzare nuove classi di applicazioni connesse su qualsiasi piattaforma o dispositivo.
I miglioramenti per la produttività degli sviluppatori comprendono quanto segue:
| • | Supporto esteso dei linguaggi |
| • | Strumenti di sviluppo migliorati |
| • | Estensibilità |
| • | Accesso ai dati migliorato |
| • | Servizi XML e Web |
| • | Framework di applicazione |
Poiché il CLR (Common Language Runtime) è compreso nel modulo di gestione di database, per sviluppare applicazioni di database gli sviluppatori hanno la possibilità di scegliere tra vari linguaggi, compresi Transact-SQL, Microsoft Visual Basic .NET e Microsoft Visual C# .NET. Inoltre, l'hosting di CLR offre agli sviluppatori una maggiore flessibilità con tipi e funzioni definiti dall'utente e l'opportunità di utilizzare codice non Microsoft per lo sviluppo di applicazioni di database.
Con il rilascio di SQL Server 2005, per implementare funzionalità all'interno del server i programmatori di database ora sono in grado di trarre il massimo vantaggio dalla libreria di classi di Microsoft .NET Framework e dai moderni linguaggi di programmazione. Mediante l'integrazione di CLR, è possibile codificare stored procedure, funzioni e trigger nel linguaggio preferito di .NET Framework. I linguaggi di programmazione Microsoft Visual Basic .NET e C# offrono costrutti orientati agli oggetti, gestione delle eccezioni strutturata, matrici, spazi dei nomi e classi. Inoltre, .NET Framework offre migliaia di classi e metodi con ampie funzionalità incorporate che è possibile utilizzare facilmente sul lato server. Per molte attività che erano complicate o difficili da eseguire in Transact-SQL è possibile ottenere risultati migliori con l'ausilio di codice gestito; sono inoltre disponibili due nuovi tipi di oggetti database: aggregati e tipi definiti dall'utente. Ora è possibile sfruttare meglio le conoscenza e le tecniche già acquisite per scrivere codice nel processo. In breve, SQL Server 2005 consente di estendere il server di database per eseguire più agevolmente calcoli e operazioni appropriati nel back-end.
Questa integrazione tra SQL Server e il CLR offre alcuni vantaggi di rilievo:
| • | Modello di programmazione avanzato. I linguaggi di programmazione compatibili con .NET Framework sono per molti aspetti più ricchi di funzionalità rispetto a Transact-SQL, offrendo costrutti e possibilità che non erano precedentemente disponibili agli sviluppatori di SQL Server. |
| • | Funzioni avanzate di sicurezza e protezione. Il codice gestito viene eseguito in un ambiente CLR, ospitato dal modulo di gestione di database. Questo consente agli oggetti database di .NET Framework di essere più protetti e sicuri rispetto alle stored procedure estese che erano disponibili nelle versioni precedenti di SQL Server. |
| • | Tipi definiti dall'utente e aggregati. In CLR sono ospitati due nuovi oggetti di database che estendono le funzionalità di archiviazione e query di SQL Server. |
| • | Ambiente di sviluppo comune. Lo sviluppo di database è integrato nell'ambiente di sviluppo di Microsoft Visual Studio 2005. È possibile utilizzare gli stessi strumenti per lo sviluppo e il debug di oggetti di database e script che vengono utilizzati per scrivere componenti e servizi di .NET Framework di livello intermedio o di livello client. |
| • | Prestazioni e scalabilità. Poiché il codice gestito viene compilato in codice nativo prima dell'esecuzione, in alcune situazioni è possibile ottenere aumenti significativi delle prestazioni. |
Mediante l'utilizzo di linguaggi quali Visual Basic .NET e C#, è possibile sfruttare vantaggiosamente l'integrazione di CLR per scrivere codice con una logica più complessa e più adatto alle attività di calcolo. Inoltre, Visual Basic .NET e C# offrono funzionalità orientate agli oggetti quali l'incapsulamento, l'ereditarietà e il polimorfismo. La facilità con cui è possibile strutturare il codice correlato in classi e spazi dei nomi significa una maggiore facilità di organizzazione e manutenzione degli investimenti in grandi quantità di codice. La possibilità di strutturazione logica e fisica del codice in assembly e spazi dei nomi rappresenta un vantaggio enorme che consente una migliore ricerca e correlazione di differenti porzioni di codice in grandi implementazioni di database.
Il codice gestito è più efficiente rispetto a Transact-SQL nell'elaborazione dei numeri e nella gestione di una logica di esecuzione complicata e fornisce un ampio supporto per la gestione di stringhe, espressioni regolari e così via. Inoltre, le funzionalità disponibili nella libreria di classi in .NET Framework offrono un accesso completo a migliaia di classi e routine predefinite che è possibile richiamare agevolmente da qualsiasi stored procedure, trigger o funzione definita dall'utente. Tutti questi aspetti sono facilmente accessibili da stored procedure gestite, funzioni, trigger e aggregati e comprendono tra l'altro funzioni migliorate per la gestione delle stringhe, funzioni matematiche, operazioni sulle date, accesso alle risorse di sistema, algoritmi di crittografia avanzati, accesso ai file, elaborazione delle immagini e manipolazione di dati XML.
Uno dei vantaggi principali del codice gestito è la sicurezza dei tipi. Prima dell'esecuzione del codice gestito, il CLR esegue alcuni controlli per mezzo di un processo noto come verifica per garantire che l'esecuzione del codice sia sicura. Ad esempio, il codice viene controllato per garantire che non venga letta memoria sulla quale sono state eseguite scritture.
Transact-SQL ha rappresentato per lungo tempo la base di tutta la programmazione in SQL Server. SQL Server 2005 offre molte nuove funzionalità del linguaggio per sviluppare applicazioni di database scalabili. Questi miglioramenti comprendono la gestione degli errori, nuove funzionalità di query ricorsiva e il supporto di nuove funzionalità per SQL Server Database Engine. I miglioramenti di Transact-SQL in SQL Server 2005 aumentano l'efficacia espressiva nella scrittura di query, consentendo di aumentare le prestazioni del codice e di ampliare le possibilità di gestione degli errori. L'impegno costante riposto nel miglioramento di Transact-SQL dimostra la ferma convinzione sul ruolo significativo che svolge all'interno di SQL Server.
Gli sviluppatori saranno in grado di utilizzare uno strumento di sviluppo per Transact-SQL, XML, Multidimensional Expressions (MDX) e XML for Analysis (XMLA). L'integrazione con l'ambiente di sviluppo di Visual Studio offrirà una maggiore efficienza nello sviluppo e debug di applicazioni di settore e di Business Intelligence (BI).
Business Intelligence Development Studio è un ambiente di sviluppo comune per la realizzazione di soluzioni di Business Intelligence basate su Visual Studio e comprendenti un modulo di gestione di database, Analysis Services e Reporting Services. L'interfaccia utente grafica (GUI) di Business Intelligence Development Studio può essere utilizzata per progettare pacchetti di SQL Server Integration Services (SSIS) per applicazioni di gestione dei dati. I pacchetti SSIS vengono progettati, sviluppati e sottoposti a debug in Business Intelligence Development Studio trascinando con il mouse le attività dalla casella degli strumenti, impostando le relative proprietà e connettendo le attività tramite vincoli di precedenza. Nella figura 2 è mostrata l'interfaccia disponibile in Visual Studio per Business Intelligence Development Studio.

Figura 2. Interfaccia di Business Intelligence Development Studio in Visual Studio
La combinazione di SQL Server 2005 e Visual Studio 2005 offre elevati livelli di integrazione tra il database e l'ambiente di sviluppo dell'applicazione. Gli sviluppatori ora hanno la possibilità di creare stored procedure, funzioni, tipi definiti dall'utente e aggregati definiti dall'utente di CLR direttamente dall'interno dell'ambiente di sviluppo di Visual Studio. Essi sono in grado di distribuire questi nuovi oggetti di database direttamente da Visual Studio senza la necessità di passare ad altri strumenti. Visual Studio 2005 supporta direttamente tutti i nuovi tipi di dati di SQL Server, come XML nativo. È anche possibile aggiungere oggetti di database CLR allo stesso sistema di controllo del sorgente che viene utilizzato per tutti i progetti di Visual Studio, fornendo così un livello maggiore di integrazione e protezione dei processi di sviluppo.
Insieme, SQL Server 2005 e Visual Studio 2005 offrono una maggiore integrazione nell'area del debug delle applicazioni. La combinazione consente di eseguire in modo trasparente il debug di codice CLR e Transact-SQL con l'ausilio della stessa interfaccia di Visual Studio passando indifferentemente da CLR a Transact-SQL e viceversa, indipendentemente dal fatto che il codice si trovi sul computer dello sviluppatore o memorizzato nel database di SQL Server.
Tipi definiti dall'utente e aggregati
I tipi definiti dall'utente in SQL Server 2005 non rappresentano un meccanismo di estensiblità relazionale degli oggetti. Essi costituiscono un modo per estendere il sistema scalare dei tipi del database. Il sistema scalare dei tipi comprende tipi colonnari che sono forniti con SQL Server (tipi come int, nvarchar, uniqueidentifier e così via). Tramite i tipi definiti dall'utente è possibile definire un tipo specifico che può essere utilizzato, ad esempio, per le definizioni delle colonne. Si può creare un tipo definito dall'utente se il tipo è effettivamente un valore atomico adatto per essere modellato come una colonna.
Utilizzare i tipi definiti dall'utente se è necessario definire un tipo scalare specifico. Scenari di esempio per questi tipi comprendono tipi di dati data e ora personalizzati in vari calendari e tipi di dati valuta. Tramite i tipi definiti dall'utente è possibile creare un singolo oggetto che espone tutti i comportamenti disponibili nel tipo e incapsulare o nascondere i dati sottostanti che vengono memorizzati dal tipo. Chiunque abbia la necessità di accedere ai dati deve utilizzare l'interfaccia di programmazione del tipo definito dall'utente. I vantaggi delle funzionalità esistenti in .NET Framework, come le funzionalità di internazionalizzazione o di calendario, costituiscono un altro motivo per prendere in considerazione l'implementazione di un tipo definito dall'utente.
In alcuni scenari può essere necessario eseguire aggregazioni dei dati. Questi comprendono l'esecuzione di calcoli statistici, quali la media, deviazione standard e così via. Se la funzione di aggregazione desiderata non è supportata direttamente come funzione aggregata incorporata, sono disponibili tre metodi per eseguire un'aggregazione personalizzata in SQL Server 2005:
| • | Scrivere l'aggregazione come aggregato definito dall'utente. |
| • | Scrivere l'aggregato mediante una stored procedure CLR. |
| • | Utilizzare un cursore sul lato server. |
SQL Management Objects
SMO (SQL Management Objects) è il modello a oggetti di gestione di SQL Server 2005. SMO rappresenta miglioramenti progettuali e architettonici significativi del modello a oggetti di gestione di SQL Server. Si tratta di un modello a oggetti semplice da usare ma ricco di funzioni che si basa su codice gestito di .NET Framework. SMO è lo strumento principale per lo sviluppo di applicazioni per la gestione di database mediante .NET Framework. SMO viene utilizzato da ogni finestra di dialogo in SQL Server Management Studio e ogni azione amministrativa che è possibile svolgere in SQL Server Management Studio è disponibile anche mediante SMO.
Il nuovo modello a oggetti SMO e le interfacce di programmazione delle applicazioni (API) di Microsoft WMI (Windows Management Instrumentation) sostituiscono SQL-DMO. Ove possibile, SMO incorpora oggetti simili a quelli di SQL-DMO per facilitare l'utilizzo. È ancora possibile utilizzare SQL Server 2005 con SQL-DMO, ma quest'ultimo non verrà aggiornato per gestire le funzionalità specifiche di SQL Server 2005.
Analysis Management Objects
AMO (Analysis Management Objects) consente alle applicazioni client di accedere alla gamma di comandi e funzionalità amministrative disponibili per Analysis Services mediante una libreria di oggetti che è in grado di offrire capacità di convalida a livello di oggetto invece di dover generare manualmente script DDL per i comandi di Analysis Services e i contenuti, spesso lunghi, dell'elemento ObjectDefinition di ASSL (Analysis Services Scripting Language). Le applicazioni che utilizzano AMO possono connettersi e utilizzare direttamente gli oggetti presenti in un'istanza di Analysis Services o creare tali oggetti senza una connessione esistente e conservare i metadata per distribuirli in un secondo tempo. AMO "include" anche comandi ed elementi ASSL.
Accesso ai dati e servizi Web migliorati
In SQL Server 2005, è possibile sviluppare servizi Web XML nel livello database, rendendo SQL Server un listener HTTP. Questo offre un nuovo tipo di possibilità di accesso ai dati per applicazioni che sono centralizzate intorno ai servizi Web. In SQL Server 2005, è possibile utilizzare HTTP per accedere direttamente a SQL Server, senza l'ausilio di un listener di livello intermedio quale Microsoft IIS (Internet Information Services). SQL Server espone un'interfaccia del servizio Web per consentire l'esecuzione di istruzioni SQL e la chiamata di funzioni e procedure. I risultati delle query vengono restituiti in formato XML e possono sfruttare i vantaggi dell'infrastruttura dei servizi Web di Visual Studio.
ADO.NET 2.0/ADOMD.NET
La nuova versione di ADO.NET offre molte novità. Dal nuovo supporto delle notifiche di modifica delle query ai MARS (Multiple Active Result Sets), ADO.NET evolve l'accesso e la manipolazione dei set di dati per ottenere un maggior livello di scalabilità e flessibilità.
SQL Server 2005 introduce il supporto della notifica per le query di SQL Server. È possibile utilizzare questo supporto per inviare un comando a SQL Server e richiedere che venga generata una notifica se una nuova esecuzione dello stesso comando produce risultati diversi da quelli ottenuti inizialmente. Ciò può essere realizzato utilizzando un oggetto di dipendenza che rileva la modifica dei dati sottostanti. I comandi che vengono inviati al server attraverso una qualsiasi delle API client come ADO.NET, OLE DB, ODBC (Open Database Connectivity), Microsoft ADO (ActiveX Data Objects) o SOAP (Simple Object Access Protocol) possono comprendere un tag che richiede una notifica. Per ciascun elemento che viene eseguito nel quadro della richiesta, il server crea una sottoscrizione della notifica che viene attivata una volta per ciascuna istruzione inclusa nella richiesta. Le notifiche vengono consegnate per mezzo di una coda di SQL Service Broker sulla quale le applicazioni eseguono il polling e utilizzano servizi di attivazione o istruzioni di blocco che restituiscono la disponibilità delle notifiche. Le notifiche delle query sono utili per attivare il caching dei risultati in applicazioni come i siti Web basati su database. Nella figura 3 è mostrato il processo di notifica delle query.

Figura 3. Notifica delle query
MARS (Multiple Active Result Sets) offre il mezzo per avere più di una richiesta in sospeso per connessione, in particolare più di un set di risultati predefinito aperto per connessione. I set di risultati predefiniti sono di solo inoltro e di sola lettura. Per i set di risultati predefiniti, i driver client recuperano in modo trasparente i dati in grandi blocchi (blocchi Tabular Data Stream della dimensione del buffer) in modo che le richieste dell'applicazione vengano soddisfatte senza un percorso di andata e ritorno ad e dal server, come nel caso dei cursori server. L'applicazione può utilizzare un semplice modello di programmazione una riga alla volta senza compromettere le prestazioni. La funzionalità MARS rimuove l'attuale limitazione in cui un set di risultati predefinito aperto impedisce al driver di inviare richieste al server fino a quando l'intero set non è stato utilizzato.
SQL Server 2005 supporta una funzionalità "hot spare" tramite il mirroring di database. Se si verifica un errore in un'istanza di SQL Server, il lavoro può essere spostato automaticamente sul server di backup. Questo richiede un'istanza che controlli il failover, nota come istanza di controllo del mirroring. Gli scenari hot spare richiedono anche che venga indicato alle connessioni client esistenti di procedere al failover stabilendo una connessione con la nuova istanza del server. Non è ottimale per le connessioni client produrre un errore al successivo tentativo di accesso imponendo il failover manuale tramite programmazione client. SqlClient in ADO.NET 2.0 supporta il failover dei client senza una speciale programmazione del programma dell'applicazione.
Miglioramenti come il tipo di dati XML nativo e XQuery aiutano le organizzazioni a connettere senza problemi sistemi interni ed esterni. SQL Server 2005 supporta in modo nativo dati relazionali e XML, così le aziende sono in grado di memorizzare, gestire e analizzare i dati nel formato più adatto alle esigenze specifiche. Il supporto di standard aperti esistenti e nuovi come HTTP (Hypertext Transfer Protocol), XML, SOAP (Simple Object Access Protocol), XQuery e il linguaggio XSD (XML Schema Definition) facilitano inoltre la comunicazione in sistemi aziendali estesi.
XML è in grado di modellare dati complessi; non è limitato ai tipi scalari che sono supportati da SQL Server. In tal senso, un tipo di dati incorporato e basato su stringa come char o varchar non è sufficiente per sfruttare completamente la potenza e i numerosi vantaggi di XML. Ad esempio, se XML è memorizzato come una stringa, è possibile inserire o selezionare un intero documento o recuperare byte contigui, ma non è possibile eseguire una query sul contenuto del documento stesso. Grazie alla disponibilità di un tipo di dati XML, SQL Server 2005 consente di eseguire query su porzioni di un documento XML, di convalidare la conformità del documento a uno schema XML e perfino di modificarne direttamente il contenuto. Consente inoltre di integrare i tradizionali dati relazionali con dati in documenti XML non strutturati o semistrutturati con metodi che non erano possibili tramite SQL Server 2000. In SQL Server 2005, i dati XML vengono memorizzati sotto forma di BLOB (Binary Large Object) in una rappresentazione interna che consente di eseguire una rianalisi efficiente e un certo livello di compressione.
È possibile associare un insieme di schemi XML a una colonna di tipo XML. Questo fornisce la convalida di vincoli, inserimenti e aggiornamenti, nonché la tipizzazione dei valori all'intero dei dati XML memorizzati e ottimizzazioni per l'archiviazione e l'elaborazione delle query. SQL Server 2005 offre inoltre alcune istruzioni DDL per la gestione degli schemi sul server.
XML Query Language, o XQuery, è un linguaggio intelligente ed efficace che è stato ottimizzato per l'esecuzione di query su tutti i tipi di dati XML. Tramite XQuery, è possibile eseguire query su variabili e colonne del tipo di dati XML mediante i recenti metodi associati. Analogamente a quanto accade per molti standard XML, lo sviluppo di XQuery è supervisionato dal W3C (World Wide Web Consortium). XQuery è il risultato dell'evoluzione di un linguaggio di query chiamato Quilt, il quale era basato a sua volta su altri linguaggi di query come XPath (XML Path Language) versione 1.0, XQL (XML Query Language) e SQL. Contiene anche XPath 2.0 come sottoinsieme. Di conseguenza, qualsiasi esperienza acquisita nell'utilizzo di XPath 1.0 può essere capitalizzata evitando di dover apprendere un linguaggio di query completamente nuovo. Vi sono, tuttavia, significativi miglioramenti che vanno oltre XPath 1.0, come la tipizzazione, funzioni speciali e il supporto di migliori funzioni di iterazione, ordinamento dei risultati e costruzione.
SQL Server 2005 viene fornito con estese funzionalità XQuery che permettono di manipolare oggetti XML nel livello dati. Supporta un sottoinsieme tipizzato statisticamente di XQuery 1.0 Working Draft del 15 novembre 2003.
In SQL Server 2005, è possibile sviluppare servizi Web XML nel livello database, rendendo SQL Server un listener HTTP. Questo offre un nuovo tipo di possibilità di accesso ai dati per applicazioni che sono centralizzate intorno ai servizi Web. In SQL Server 2005, è possibile utilizzare HTTP per accedere direttamente a SQL Server, senza l'ausilio di un listener di livello intermedio quale Microsoft IIS (Internet Information Services). SQL Server espone un'interfaccia del servizio Web per consentire l'esecuzione di istruzioni SQL e la chiamata di funzioni e procedure. I risultati delle query vengono restituiti in formato XML e possono sfruttare i vantaggi dell'infrastruttura dei servizi Web di Visual Studio.
XML per Analysis Services (XMLA) è un protocollo nativo e basato su standard per la comunicazione con il server Analysis Services. Viene aperta la strada a nuovi tipi di applicazioni facili da sviluppare che integrano funzioni analitiche con operazioni in tempo reale. Grazie a XMLA quale protocollo nativo, i client Analysis Services possono essere configurati per avere un footprint minimo e ciascun server è automaticamente un servizio Web. È disponibile un livello Win32 con footprint leggero per garantire la compatibilità con le versioni precedenti degli strumenti che funzionano con Analysis Services 2000 su OLE DB per OLAP, ADOMD e ADOMD.NET. Molti utenti continueranno a utilizzare il modello a oggetti ADOMD.NET per creare applicazioni personalizzate su Analysis Services.
SQL Server 2005 introduce un nuovo framework di applicazione SQL Server che comprende Service Broker, Notification Services, SQL Server Mobile e SQL Server Express. Service Broker è un framework di applicazione distribuito che offre uno stabile sistema di messaggistica asincrono a livello database-to-database.
Nel corso degli ultimi 10 anni, la proliferazione delle applicazioni di e-commerce ha creato l'esigenza di una maggiore gestione del flusso di lavoro tra le applicazioni di database. Quando un cliente in linea ordina un libro, l'ordine deve applicare transazioni ai sistemi di inventario, spedizione e gestione delle carte di credito e deve inviare una conferma d'ordine per mezzo di un'altra applicazione Web. L'attesa del completamento in sequenza di ciascuno di questi processi non costituisce un approccio scalabile. SQL Server 2005 offre una nuova architettura scalabile per realizzare il routing dei messaggi asincroni. Nella figura 4 viene descritta l'architettura di Service Broker.

Figura 4. Architettura di Service Broker
La tecnologia di Service Broker consente ai processi interni o esterni di inviare e ricevere flussi di messaggi asincroni affidabili utilizzando estensioni del normale linguaggio di manipolazione dei dati Transact-SQL. I messaggi vengono inviati a una coda nello stesso database del mittente verso un altro database nella stessa istanza di SQL Server o un'altra istanza di SQL Server nello stesso server o in un server remoto.
Microsoft SQL Server Notification Services è una piattaforma per lo sviluppo e la distribuzione di applicazioni che generano e inviano notifiche agli utenti. Le notifiche sono messaggi tempestivi e personalizzati che possono essere inviati a vari dispositivi.
Le notifiche riflettono le preferenze del sottoscrittore. Il sottoscrittore immette una sottoscrizione per esprimere un interesse nelle informazioni, ad esempio, "Notifica quando il prezzo delle azioni Adventure Works raggiunge 70,00 euro" o "Notifica quando viene aggiornato il documento di strategia in fase di scrittura".
Una notifica può essere generata e inviata all'utente non appena si verifica un evento di attivazione o in base a una pianificazione specificata dall'utente. La sottoscrizione dell'utente specifica quando la notifica deve essere generata e inviata.
Le notifiche possono essere inviate a vari dispositivi, quali un telefono cellulare, PDA (Personal Digital Assistant), Microsoft Windows Messenger o un account di posta elettronica. Poiché in genere tali dispositivi accompagnano l'utente, risultano ideali per l'invio di informazioni ad alta priorità.
SQL Server 2000 veniva fornito con SQL Server 2000 Windows CE Edition, che ora è SQL Server Mobile Edition versione 3.0. Varie nuove funzionalità chiave di SQL Server Mobile Edition riguardano gli sviluppatori:
| • | È possibile creare un database di SQL Server Mobile Edition sul desktop o sul dispositivo direttamente da SQL Server Management Studio. È anche possibile manipolare lo schema del database di SQL Server Mobile Edition situato indifferentemente sul dispositivo mobile o sul desktop direttamente da Management Studio. È possibile utilizzare SQL Server Management Studio per eseguire query destinate a un database di SQL Server Mobile Edition situato sul dispositivo o sul desktop. È anche possibile sfruttare i vantaggi delle nuove funzionalità di SQL Server Mobile Edition che comprendono uno Showplan XML reso in un formato di interfaccia utente grafica analogo a quello nativo di SQL Server e la possibilità di utilizzare suggerimenti per le query al fine di ignorare Query Optimizer in SQL Server Mobile Edition. Per la prima volta, è disponibile il controllo del piano di ottimizzazione in un dispositivo. |
| • | Ora è possibile codificare oggetti SSIS (SQL Server Integration Services) per scambiare i dati. |
| • | Il nuovo set SqlCeResult è derivato dal set SQLResult disponibile in SQL Server 2005. Questo consente a SQL Server Mobile Edition di disporre di un reale cursore scorrevole e aggiornabile. Consente inoltre di eseguire l'associazione a oggetti dati che si trovano su dispositivi. |
| • | È possibile codificare applicazioni per sincronizzare i dati lasciando aperta l'applicazione principale e consentire a due applicazioni separate di accedere contemporaneamente allo stesso database sul dispositivo. |
| • | Le notifiche possono essere codificate in barre di stato che forniranno lo stato di avanzamento della sincronizzazione. In precedenza, non era possibile conoscere il punto di avanzamento di una sincronizzazione per segnalare agli utenti che un dispositivo aveva smesso di rispondere. |
| • | La dimensione del database può essere contenuta per mezzo di un criterio di reclamo delle pagine più aggressivo. |
| • | La sintassi di SQL Server consente di condividere il codice delle query parametrizzate. |
Ora più che mai, gli sviluppatori stanno sfruttando al massimo le caratteristiche dei database relazionali per offrire un migliore livello di fruizione per gli utenti. La protezione e la gestione delle informazioni all'interno di queste applicazioni è un elemento cruciale. Microsoft SQL Server Express aiuta gli sviluppatori a realizzare applicazioni solide e affidabili offrendo gratuitamente un database solido e facile da usare. Troppo spesso, i sistemi di database sono eccessivamente complessi per lo sviluppo di semplici applicazioni. Microsoft Visual Studio 2005 e SQL Server Express riducono questa complessità offrendo un ambiente di sviluppo semplice ma potente per la realizzazione di applicazioni basate sui dati. Gli sviluppatori sono in grado di progettare schemi, aggiungere dati ed eseguire query di database locali all'interno dell'ambiente di Visual Studio 2005. Se sono necessarie funzionalità di database più avanzate, allora è possibile aggiornare senza problemi SQL Server Express a una versione più sofisticata di SQL Server. Nella figura 5 è mostrata l'interfaccia dell'editor di query in SQL Server Express Manager.

Figura 5. L'editor di query in SQL Server Express Manager
Un nuovo strumento con interfaccia utente grafica di nome SQL Server Express Manager (XM) è disponibile gratuitamente come scaricamento Web separato. XM offre una facile gestione dei database e funzionalità di analisi delle query, una dimensione di scaricamento ridotta e può essere ridistribuito gratuitamente. XM supporta connessioni a SQL Server Express e ad altre edizioni di SQL Server 2005, SQL Server 2000 e MSDE 2000. Una finestra di dialogo di connessione semplificata guida l'utente nella selezione dell'istanza e dei metodi di autenticazione da utilizzare. Mediante XM è possibile stabilire connessioni locali e remote. Esplora oggetti enumera e visualizza gli oggetti utilizzati, come l'istanza, le tabelle, il processo memorizzato e così via, in modo gerarchico e aiuta l'utente a visualizzare l'accesso al database.
Tutte le funzionalità di gestione dei database sono disponibili richiamando il menu di scelta rapida da Esplora oggetti. Alcune delle opzioni di gestione dei database da esporre comprendono la creazione e la modifica di database, tabelle, accessi e utenti. Molte di queste operazioni di database sono disponibili sotto forma di procedure guidate che illustrano in dettaglio i passaggi da seguire mentre molte altre sono disponibili sotto forma di documenti a finestra con schede. Ad esempio, XM fornisce un documento Nuovo/Modifica per creare nuovi database e modificare quelli esistenti.
Molti utenti di database preferiscono gestire i propri server mediante Transact-SQL in quanto questo approccio offre un controllo più minuzioso rispetto all'utilizzo dell'interfaccia utente grafica. L'editor di query in XM consente di sviluppare ed eseguire istruzioni e script di Transact-SQL. L'editor di query è provvisto di numerose funzionalità quali la codifica a colori delle parole chiave e un riquadro che restituisce i risultati in una griglia di dati. Nel riquadro dei risultati vengono visualizzati anche gli eventuali messaggi di errore.
SQL Server 2005 promuove la leadership di Microsoft nell'area della Business Intelligence per mezzo di innovazioni a livello di scalabilità, integrazione dei dati, strumenti di sviluppo e capacità analitica. SQL Server 2005 rende possibile una Business Intelligence scalabile mettendo a disposizione dei dipendenti nelle organizzazioni informazioni critiche e aggiornate. Dal direttore generale al tecnico informatico, i dipendenti saranno in grado di controllare i dati in modo semplice e immediato per accelerare i processi decisionali. Le funzionalità complete di integrazione, analisi e report di SQL Server 2005 consentono alle aziende di estendere il valore delle applicazioni esistenti, indipendentemente dalla piattaforma sottostante. Le funzionalità di Business Intelligence comprendono miglioramenti nelle seguenti aree:
| • | Una piattaforma di Business Intelligence integrata end-to-end |
| • | Integration Services |
| • | Analysis Services |
| • | Reporting Services |
| • | Integrazione con Microsoft Office System |
SQL Server 2005 è una piattaforma di Business Intelligence completa che offre le caratteristiche, gli strumenti e le funzionalità per sviluppare applicazioni analitiche sia di tipo classico che innovativo. Le seguenti informazioni introducono gli strumenti che verranno utilizzati per creare un'applicazione analitica ed evidenziano le nuove funzionalità che semplificano ulteriormente lo sviluppo e la gestione di sistemi complessi di Business Intelligence.
Il set di strumenti di Business Intelligence di SQL Server 2005 offre l'integrazione end-to-end delle applicazioni di Business Intelligence:
| • | Progettazione. Business Intelligence Development Studio è il primo ambiente di sviluppo integrato progettato per gli sviluppatori di Business Intelligence. Basato su Visual Studio 2005, Business Intelligence Development Studio offre agli sviluppatori di sistemi di Business Intelligence una piattaforma di sviluppo professionale e integrata. Debug, controllo del sorgente e sviluppo di script e codice sono disponibili per tutti i componenti della piattaforma di Business Intelligence. |
| • | Integrazione. SSIS (SQL Server Integration Services) è stato riscritto per svolgere funzioni complesse di integrazione, trasformazione e sintesi dei dati ad alta velocità per volumi di dati molto grandi. Business Intelligence Development Studio rende decisamente piacevoli le operazioni di sviluppo e debug dei pacchetti. Integration Services, Analysis Services e Reporting Services collaborano reciprocamente per presentare un quadro coerente dei dati provenienti da origini eterogenee. |
| • | Analisi. Microsoft Data Mining è sempre stato sempre facile da usare. Ora è stato ulteriormente migliorato grazie all'aggiunta di nuovi importanti algoritmi, tra cui Association Rules, Time Series, Regression Trees, Sequence Clustering, Neural Network e Naïve Bayes. SQL Server 2005 riduce le differenze tra database relazionali e multidimensionali. È possibile memorizzare i dati nel database relazionale, nel database multidimensionale o utilizzare la nuova funzionalità di caching attivo per ottenere il meglio dai due mondi. Ai cubi di Analysis Services sono state aggiunte nuove e importanti funzionalità che comprendono il framework indicatore di prestazioni chiave (KPI), script MDX e altre analisi aziendali avanzate. Il framework di consegna e gestione dei report di Reporting Services facilita la distribuzione di analisi complesse a ogni tipo di destinatario. |
| • | Report. Reporting Services estende la piattaforma di Business Intelligence di Microsoft per raggiungere l'utente aziendale che deve utilizzare l'analisi. Reporting Services è un ambiente di generazione di report gestito a livello aziendale, incorporato e gestito per mezzo di Web Services. I report possono essere personalizzati e consegnati in vari formati grazie a varie opzioni di interattività e stampa. Analisi complesse sono alla portata di un ampio pubblico di utenti grazie alla distribuzione di report sotto forma di origine dati per downstream di Business Intelligence. Una novità di SQL Server 2005 è lo strumento per la generazione di report, Generatore report. |
| • | Gestione. SQL Server Management Studio integra la gestione di tutti i componenti di SQL Server 2005. Coloro che operano nell'area della Business Intelligence trarranno beneficio da questa estensione delle potenzialità server prevedibili nel modulo relazionale al set completo dei componenti della piattaforma di Business Intelligence: scalabilità, disponibilità, programmabilità e così via. |
SQL Server 2005 comprende una piattaforma di estrazione, trasformazione e caricamento (ETL) dei dati aziendali chiamata SSIS (SQL Server Integration Services). SSIS consente alle organizzazioni di integrare e analizzare più facilmente i dati provenienti da varie origini di informazioni eterogenee. Grazie all'analisi dei dati su una serie di sistemi operativi, le organizzazioni hanno la possibilità di acquisire un vantaggio competitivo per mezzo di una comprensione olistica della propria attività.
Questa nuova piattaforma è il successore della nota funzionalità disponibile in SQL Server 2000 con il nome Data Transformation Services (DTS). SSIS costituisce una novità per SQL Server 2005 e fornisce la gamma di funzionalità e le prestazioni ad elevata scalabilità necessarie per sviluppare applicazioni ETL per le aziende. SSIS è completamente programmabile, incorporabile ed estensibile, caratteristiche che lo rendono una piattaforma ETL ideale.
SQL Server 2005 supporta in modo standard dati non tradizionali (Web Services, XML) nei modi seguenti:
| • | SSIS introduce l'analisi dei dati senza richiederne la persistenza. |
| • | Le operazioni di data mining e text mining possono essere eseguite nel flusso dei dati. |
| • | Data mining e analisi vengono applicate al flusso dei dati per garantire la qualità e la ripulitura dei dati. |
In SQL Server 2005, Analysis Services offre per la prima volta un quadro unificato e integrato di tutti i dati aziendali come base per le tradizionali funzioni di generazione di report, analisi OLAP (Online Analytical Processing) e data mining.
Grazie alla combinazione degli aspetti migliori delle tradizionali funzioni di analisi OLAP e report relazionali, Analysis Services offre un modello di metadati che affronta entrambi i set di esigenze. Un set di cubi e dimensioni definiti in Analysis Services viene indicato come modello UDM (Unified Dimensional Model). UDM è un archivio centrale di metadati che definisce entità aziendali, logica aziendale, calcoli e metriche che costituiscono l'origine per tutti i report, fogli di calcolo, browser OLAP, KPI e applicazioni analitiche.
Mediante la nuova e potente funzionalità di vista origine dati, UDM viene mappato su un certo numero di origini dati back-end, offrendo un quadro completo e integrato dell'azienda indipendentemente dalla posizione dei dati.
Tramite le descrizioni intuitive delle entità aziendali, gerarchie di navigazione, molteplici prospettive e conversioni automatiche in linguaggi nativi di UDM, gli utenti potranno esplorare agevolmente i dati aziendali.
SQL Server 2005 Data Mining è la tecnologia di Business Intelligence che aiuta a sviluppare modelli analitici complessi e a integrarli con le attività aziendali. Analysis Services stabilisce un nuovo contesto per il data mining. Grazie alla creazione di una piattaforma facile da usare, estensibile, accessibile e flessibile, le funzionalità di data mining di Analysis Services vengono introdotte nelle organizzazioni che non avevano ancora preso in considerazione una soluzione di questo tipo.
Un'architettura di livello aziendale, una maggiore integrazione con la famiglia di strumenti di Business Intelligence di SQL Server e una ricca dotazione di altri strumenti, API e algoritmi consentono a SQL Server di creare una nuova serie di applicazioni intelligenti in grado di migliorare la produttività, aumentare i profitti e ridurre i costi offrendo soluzioni personalizzate e basate sui dati per un'ampia gamma di problematiche aziendali.
Reporting Services estende la piattaforma di Business Intelligence di Microsoft alla portata del tecnico informatico che deve accedere ai dati aziendali. Reporting Services è un ambiente per la gestione di report aziendali basato su server e gestito tramite Web Services. I report possono essere consegnati in vari formati con varie opzioni di interattività e stampa. Analisi complesse sono alla portata di un ampio pubblico di utenti grazie alla distribuzione di report sotto forma di origine dati per downstream di Business Intelligence.
Reporting Services è un componente integrato di SQL Server 2005 e fornisce le seguenti funzionalità:
| • | Un modulo a elevate prestazioni per l'elaborazione e la formattazione dei report. |
| • | Un set completo per la creazione, gestione e visualizzazione di report. |
| • | Un'architettura estensibile e interfacce aperte per l'incorporamento dei report o l'integrazione di soluzioni per la gestione di report in ambienti IT eterogenei. |
I report basati su dati relazionali sono utili, ma la possibilità di aggiungere ulteriori funzionalità analitiche li rende ancora più efficaci. Reporting Services consente di sviluppare facilmente report combinati o separati. SQL Server 2005 supporta i dati relazionali e OLAP e offre un editor di query per entrambi, comprendente SQL Query Editor e MDX Query Editor.
Generatore report è un nuovo componente di SQL Server 2005 Reporting Services che consente agli utenti aziendali di creare report con l'ausilio di un modello intuitivo dei dati. Generatore report sfrutta i vantaggi della piattaforma di Reporting Services per offrire a tutti gli utenti finali report su misura. Gli utenti creano e modificano i report tramite l'applicazione client di Generatore report. L'interfaccia utente di Generatore report è basata sul familiari modelli di Microsoft Office, come Microsoft Excel e Microsoft PowerPoint. Nella figura 6 è mostrato un report di esempio realizzato con Generatore report.

Figura 6. Progettazione di report con Generatore report
Generatore report è un'applicazione ClickOnce distribuita per mezzo del browser. Gli utenti iniziano con la selezione dei modelli di layout dei report contenenti sezioni di dati predefinite come tabelle, matrici e grafici. Gli elementi dei report vengono trascinati con il mouse dal modello sull'area di progettazione, quindi vengono impostati i vincoli per filtrare i dati dei report. Il modello contiene tutte le informazioni necessarie per consentire a Generatore report di generare automaticamente la query di origine e recuperare i dati richiesti. Generatore report consente inoltre agli utenti di svolgere le seguenti operazioni:
| • | Aggiungere testo e opzioni di formattazione ai report. |
| • | Creare nuovi campi e calcoli definiti mediante il modello. |
| • | Visualizzare in anteprima, stampare e pubblicare i report. |
| • | Esportare i dati dei report in formati come Microsoft Excel. |
I report prodotti dal server di report possono essere eseguiti nel contesto di Microsoft SharePoint Portal Server e di applicazioni di Microsoft Office System come Microsoft Word e Microsoft Excel. È possibile utilizzare le funzionalità di SharePoint per sottoscrivere i report, creare nuove versioni dei report e distribuirli. È anche possibile aprire i report in Word o Excel per visualizzare le relative versioni HTML.
Di seguito vengono forniti alcuni suggerimenti per l'aggiornamento a SQL Server 2005:
| • | Aggiornamento a SQL Server 2005 da SQL Server 7.0 o SQL Server 2000. |
| • | Eseguire Preparazione aggiornamento per determinare se eventuali modifiche al prodotto possono danneggiare applicazioni esistenti. |
| • | SQL Server Database Engine, Analysis Services e Reporting Services possono essere aggiornati dal programma di installazione. |
| • | SQL Server Integration Services, la sostituzione di DTS (Data Transformation Services), viene installato fianco a fianco con DTS. È possibile eseguire pacchetti DTS mediante i componenti runtime di DTS. |
| • | SQL Server 2005 Notification Services viene installato fianco a fianco con Notification Services 2.0. Quando si esegue l'aggiornamento a SQL Server Database Engine è necessario eseguire la migrazione delle istanze di Notification Services a SQL Server 2005. |
| • | Utilizzare lo strumento Configurazione superficie di attacco dopo l'aggiornamento per attivare o disattivare i servizi, i protocolli di rete e le funzionalità di SQL Server 2005. |
La famiglia di edizioni SQL Server comprende in un unico prodotto tutto il necessario per una piattaforma di archiviazione, gestione, analisi e report completa e preconfezionata con una gestione flessibile delle licenze che consente di scegliere la soluzione più adatta a ogni specifica esigenza.
Progettato per garantire la scalabilità dalle imprese di grandi dimensioni fino alle piccole aziende, SQL Server offre a tutti i clienti le stesse prestazioni, protezione, affidabilità e valore aziendale. SQL Server supporta implementazioni che variano da warehouse di dati di vari terabyte fino a dispositivi Pocket PC che eseguono SQL Server Windows Mobile Edition.
Nella tabella seguente sono delineati i prezzi e i vantaggi offerti da ciascuna delle linee di prodotti SQL Server 2005.
Nota: il testo in grassetto indica una nuova funzionalità di SQL Server 2005. Ciascuna edizione successiva comprende le stesse funzionalità della precedente. Tutti i prezzi sono espressi in dollari e riflettono i prezzi di acquisto per il mercato statunitense.
| Prezzi e licenze | ||||
| Edizione | Prezzo | Vantaggio | Dimensioni | Funzionalità principali |
Express | Gratuito | Il metodo più veloce per apprendere, sviluppare e distribuire semplici applicazioni basate sui dati. | 1 CPU | Dimensione database di 4 GB |
Workgroup | $3.900 per processore | Soluzione di database più conveniente e facile da usare per piccoli reparti e aziende in crescita. | 1 o 2 CPU | Management Studio |
Standard | $6.000 per processore | Piattaforma completa di gestione e analisi dei dati per medie aziende e grandi reparti. | Da 1 a 4 CPU | Mirroring di database |
Enterprise | $25.000 per processore | Piattaforma di gestione e analisi dei dati completamente integrata per applicazioni critiche a livello di impresa. | Scalabilità e partizionamento illimitati | Mirroring di database avanzato, operazioni complete in linea e in parallelo e snapshot di database |
Leggi la Guida al prodotto SQL Server 2005 (in inglese)