SQL Server 2008 è l'ultima incarnazione del Database Management System (DBMS) di Microsoft. Sebbene non rappresenti un salto evolutivo pari a quello che sì è verificato tra SQL Server 2000 e 2005, la versione 2008 contiene comunque una grande quantità di novità interessanti, sia per l'amministratore che per lo sviluppatore di basi di dati. Nel corso di questo articolo cercheremo di illustrare le più importanti, fornendo nel contempo i riferimenti al materiale disponibile online che può essere utilizzato per approfondire l'argomento.
Un solo prodotto, tante edizioni
Al pari della versione 2005, anche SQL Server 2008 è disponibile in diverse edizioni: Standard, Workgroup, Enterprise, Developer e la nuova Web Edition, progettata specificatamente per l'utilizzo all'interno di applicazioni che devono essere fruibili via Internet (quindi, in particolare, siti web e web service). Sul sito Microsoft è disponibile un documento che illustra nel dettaglio le caratteristiche delle singole versioni, quindi si rimanda ad esso per maggiori dettagli.
Resta sempre disponibile la versione Express, completamente gratuita, di cui ora esistono tre pacchetti (contro i due della release precedente):
- L'edizione standard, che comprende solo il DBMS
- La nuova versione With Tools, che include anche il Management Studio
- SQL Server Express with Advanced Services, che aggiunge alla release precedente il supporto al Full-Text search e la possibilità di eseguire report di Reporting Services
SQL Server 2008 Express, nelle sue varianti, può essere liberamente scaricato. In alternativa, è anche disponibile una versione di prova dell'edizione Enterprise, valida per un periodo di 180 giorni.
L'installazione
La procedura di setup di SQL Server 2008 è stata completamente rivista. I passaggi da seguire sono numerosi, ma ben documentati e, quindi, facili da comprendere per chi ha già un minimo di dimestichezza con il lessico utilizzato nel mondo dei DBMS.
Per poter installare SQL Server 2008, indipendentemente dalla specifica versione, nel sistema deve essere presente il .NET Framework 3.5 SP1: se non è così, la procedura propone di scaricarlo e installarlo. Se si possiede il DVD di installazione non sarà necessaria la connessione alla rete: nonostante il messaggio di avviso dica che il pacchetto sarà scaricato da Internet, questo sarà prelevato direttamente dal supporto ottico.
Il secondo prerequisito è Windows Installer, di cui è richiesta la versione 4.5. Anche in questo caso, se non è presente nel sistema, è possibile utilizzare il pacchetto contenuto nel DVD.
Infine, è importante ricordare che, se si installa SQL Server 2008 in un sistema in cui è presente anche Visual Studio 2008, quest'ultimo deve essere aggiornato al Service Pack 1, altrimenti la procedura di setup di SQL Server si interromperà segnalando la mancanza di tale prerequisito; purtroppo questa verifica viene effettuata solo dopo che sono state già impostate diverse opzioni del DMBS, quindi in caso di mancanza del Service Pack 1 sarà necessario uscire l'installazione in corso, porre rimedio al problema e ripetere tutti i passaggi fatti fino a quel momento.
Installati i prerequisiti, si arriva finalmente alla schermata iniziale del setup vero e proprio:
Sulla sinistra compare un menu con l'elenco di tutte le azioni che si possono eseguire. Ad esempio, Planning contiene una serie di riferimenti a documentazione online sul processo di installazione di SQL Server 2008 e sull'aggiornamento dalle versioni precedenti; altre risorse tecniche sul DBMS sono contenute nella sezione Resources.
Per lanciare l'installazione vera e propria, bisogna cliccare su Installation
, quindi selezionare il primo comando, New SQL Server stand-alone installation or add features to an existing installation
. A questo punto, si consiglia di fare riferimento alla guida disponibile online per i chiarimenti sui passaggi dell'installazione. L'intera procedura, decidendo di installare tutte le componenti di SQL Server 2008, può richiedere più di un'ora.
Le novità
Le novità di SQL Server 2008 sono numerosissime e riguardano praticamente tutti gli ambiti di utilizzo; per una panoramica completa, si consiglia di fare riferimento al sito ufficiale.
Ci sono, comunque, alcune caratteristiche che saltano immediatamente all'occhio, in particolare quelle relative al tool "principe" per la gestione del DBMS.
SQL Server Management Studio
Innanzi tutto, si nota una stretta integrazione con PowerShell (la nuova interfaccia di amministrazione a riga di comando introdotta da Microsoft), evidente ad esempio nel fatto che, cliccando con il tasto destro su qualunque oggetto contenuto nell'Object Explorer
, tra i comandi disponibili c'è sempre Start PowerShell
, con cui viene automaticamente aperta una console di PowerShell che punta all'oggetto selezionato.
Ci sono poi un paio di funzionalità sicuramente molto gradite ai database developer:
- la possibilità di eseguire il debug di funzioni e stored procedure
- il supporto all'Intellisense nella finestre delle query
Si tratta di due feature a lungo richieste dagli sviluppatori, e che fino ad oggi richiedevano l'utilizzo di tool di terze parti a pagamento. L'Intellisense è in grado di completare per noi, durante la digitazione, i nomi di tabelle, campi, funzioni di sistema, etc.
Il debug di stored procedure e funzioni, invece, consente di eseguirle in modalità passo passo, visualizzare i valori delle variabili utilizzate e modificare la sequenza delle istruzioni, secondo le modalità tipiche di Visual Studio. Per avviarlo, basta inserire un punto di interruzione in corrispondenza della riga desiderata e quindi premere il pulsante Debug sulla barra degli strumenti.
Chi ha già dimestichezza con il debugger di Visual Studio, non avrà problemi nel riconoscere un ambiente di lavoro familiare.
Tali funzionalità sono supportate anche nella versione Express, tuttavia sono disponibili solo se il database a cui ci si connette è di SQL server 2008; non è quindi possibile sfruttare il nuovo Management Studio per avere l'Intellisense e il debugger con le versioni precedenti del DBMS. In questo caso, è ancora necessario ricorrere a strumenti di terze parti.
Tipi di dati
Continuando ad analizzare SQL Server 2008, si scopre che ci sono cambiamenti significativi anche per quanto riguarda i tipi di dati. Finalmente, sono stati aggiunti tipi specifici per memorizzare solo l'ora o la data, chiamati rispettivamente time
e date
. Il tipo standard datetime
, inoltre, è stato affiancato dal datetime2
, che ne aumenta l'intervallo di valori ammissibili e la precisione, così da renderlo adeguato anche per gestire misurazioni in cui è richiesta un'elevata accuratezza (si passa dai 3 millisecondi del datetime
ai 100 nanosecondi del datetime2
).
Sono stati introdotti anche tipi di dati completamente nuovi, per la gestione di dati spaziali e gerarchici. Il tipo hierarchyid
consente di creare relazioni tra gli elementi di dati all'interno di una tabella, quindi è utile per organizzare gerarchicamente le informazioni.
Può essere utilizzato, ad esempio, per rappresentare le discussioni all'interno di un forum oppure le componenti di un singolo prodotto. I tipi geometry
e geography
, invece, permettono di gestire i dati spaziali, ovvero dati che identificano rispettivamente forme e posizioni geografiche sul pianeta Terra, le quali possono includere punti di riferimento, strade e persino la sede di un'azienda.
Poiché SQL Server 2008 supporta nativamente questo tipo di dati, su di essi si possono anche eseguire calcoli, ad esempio richiedere la distanza tra due punti all'interno di una normale query SQL.
Per sfruttare tali nuove caratteristiche, dal punto di vista del programmatore, è necessario utilizzare il .NET Framework 3.5 aggiornato al Service Pack 1, che fornisce i tipi di dati SqlGeography
, SqlGeometry
e SqlHierarchyId
(definiti nell'assembly Microsoft.SqlServer.Types.dll
). Su MSDN Magazine è disponibile un articolo che fornisce un'interessante panoramica sui nuovi tipi di dati introdotti da SQL Server 2008, a cui si rimanda per maggiori dettagli.
Un'altra importante novità è rappresenta dalle cosiddette Sparse Columns (colonne di tipo sparse), ottimizzate per contenere dati che spesso assumono il valore NULL
.
Vi è poi il concetto di Filestream, ovvero la possibilità di memorizzare in una colonna di tipo VARBINARY(MAX)
una serie di dati binari che in realtà risiedono fisicamente su file system NTFS, quindi possono essere acceduti da programma come se si trattasse di un normale Stream
.NET: si possono caricare dati in colonna FILESTREAM
nello stesso modo in cui si scrive in uno Stream
, oppure si può leggere da esso per fare streaming di contenuti audio e video.
In altre parole, con questa nuova modalità il programmatore ha a che fare solo con Stream
e non deve più preoccuparsi del limite dei 2 GB per la memorizzazione di dati binari.
Configurazioni
Concludiamo evidenziando un cambiamento che in un primo tempo potrebbe confondere chi proviene da SQL Server 2005: il programma SQL Server Surface Area Configuration, utilizzato per la configurazione di diversi aspetti di SQL Server, è stato rimosso.
Alcune delle opzioni rese possibili da questa interfaccia sono ora disponibili nell'SQL Server Configuration Manager, mentre per altre (come l'opzione per attivare il supporto al CLR), si deve fare clic destro sull'istanza del DBMS all'interno dell'SQL Server Management Studio, quindi selezionare il nuovo comando Facets e selezionare dall'elenco Facet l'opzione Surface Area Configuration.
Conclusioni
In questo articolo abbiamo dato uno sguardo alle principali novità di SQL Server 2008, dall'installazione alle nuove caratteristiche con cui ci si deve confrontare durante il suo normale utilizzo, con l'obiettivo di suscitare interesse e curiosità verso l'ultima evoluzione del DBMS prodotto da Microsoft. Quelle illustrate in questo articolo, infatti, sono solo una piccola parte delle novità introdotte, ma risultano comunque sufficienti per farsi un'idea delle innovazioni che caratterizzano il DMBS e che si rivolgono sia al Database Administrator sia al Database Developer.