Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Sql Server 2005 Express

La soluzione gratuita per le nostre applicazioni web
La soluzione gratuita per le nostre applicazioni web
Link copiato negli appunti

La nuova versione database di casa Microsoft rivede tutte le principali versioni del suo predecessore, aggiungendone delle nuove. Diversamente da quanto si possa pensare la versione Express non è una novità o perlomeno non del tutto. Questa particolare versione sostituisce 'MSDE 2000', versione limitata di Sql Server 2000, anch'essa gratuita a patto di avere una licenza 'a pagamento' che ne consenta l'utilizzo. I limiti più conosciuti di MSDE sono i massimo 5 utenti concorrenti (in realtà le chiavi di registro relative all'applicativo parlano di 8) e dell'assenza di un tool grafico per l'amministrazione. Al contrario Sql Server 2005 Express è stato limitato, come tutte le altre versioni di Sql Server 2005, dal punto di visto dell'hardware supportato e dalle specifiche funzioni implementate in modo totale o parziale.

Sql Server 2005 Express risulta essere 'bloccato' per l'utilizzo con un singolo processore (anche multi-core), al supporto a 64 bit emulato con la tecnologia 'Windows On Windows' (WOW), ad un Giga di ram (massimo utilizzo del processo e non della macchina) e un massimo di 4 Giga di file di database. Dal punto di vista delle funzionalità è stato privato della ricerca 'Full-Text' (che verrà però introdotta in seguito) e del Sql Agent, applicativo che operando in background esegue le varie operazioni di manutenzione e backup del sistema. Operazioni che è comunque possibile eseguire manualmente o in automatico con opportuni file batch creati ad-hoc. E' anche possibile installare più istanze di Sql Server, non importa se versioni uguali o meno, sulla stessa macchina ma una sola istanza di default per macchina.

Il prodotto manca al momento di tutta la parte di Report e di Business Intelligence. Seppure annunciati di prossimo rilascio non ci sono ancora delle notizie in merito a come ed in che modo questi servizi saranno integrati con la versione Express. Da non sottovalutare poi la possibilità, previa registrazione, di ottenere una licenza gratuita di distribuzione che ci consentirà di integrare Sql Server all'interno del programma di installazione della nostra applicazione.

Le migliorie apportare al motore relazionale sono innumerevoli ed elencarle tutte porterebbe ad avere una lista infinita. Tra le novità più interessanti annotiamo il formato XML come oggetto di sistema riconosciuto in modo nativo che ci consentirà di mapparlo su più campi e tabelle o in un singolo campo. Grazie al supporto per 'XQuery' Sql Server è in grado di recuperare singoli dati o campi da file XML. L'ottimizzatore delle query è stato completamente rivisto e riesce a correggere in runtime gli eventuali errori presenti nelle nostre interrogazioni. Seppur ancora senza un comando diretto, le query per la paginazione sono state velocizzate. Il linguaggio Transact-SQL è stato ampliato, adesso supporta anche l'intercettazione degli errori. Tra le nuove caratteristiche troviamo anche la possibilità di utilizzare Sql Server 2005 Express come server di replica per un Sql Server 2005 superiore.

Tutti gli sviluppatori Asp.Net 2.0 non potranno che apprezzare per la presenza di una funzione di cache a livello di database. Sql Server controllerà in automatico se i dati sono stati aggiornati dall'ultima richiesta in modo trasparente. Così la nostra applicazione potrà utilizzare la cache senza i problemi riscontrati solitamente: un'invalidazione costante che rallenta l'esecuzione invece di velocizzarla o la visualizzazione di dati ormai obsoleta per tutto il tempo di caching. Questa funziona va attivata manualmente e soffre di pesanti restrizioni (la lista completa la trovate qui) che la ridimensiona a query su singola tabella.

Per quanto riguarda la gestione e l'amministrazione grafica del prodotto ci viene fornito 'Sql Server Management Studio Express'. Questo programma, offerto come prodotto a se stante, ci consente di interagire con tutta la fase di progettazione, gestione, messa in sicurezza del nostro database. Possiamo vedere la struttura dei nostro database, creare delle viste, vedere e modificare i dati, creare stored procedure e funzioni. Possiamo inoltre eseguire il backup o il ripristino di un database, importare o esportare i dati e la struttura con un semplice file di script. Da sottolineare che purché visibili gli oggetti di sistema si trovano adesso per tutte le categorie di opzioni sotto una specifica cartella 'system'.

Tra le tante opzioni che il software mette a disposizione la più utile in fase di scrittura di codice è senza dubbio il 'Template Explorer', una lunga colonna indentata di categorie di script per ogni occasione con la possibilità, premendo i tasti 'CTRL+SHIFT+M', di modificare i parametri standard con un comoda interfaccia che eviterà di commettere errori di digitazione. Per i più pigri abbiamo il 'Design Query in Editor' che creerà il codice Sql necessario per ottenere i dati che abbiamo selezionato in modo visuale.

Screenshot

Possiamo visualizzare il piano di esecuzione previsto per le nostre istruzioni Sql prima che vengano eseguite, con relativi consumi e percentuale dei tempi per ogni singola operazione, quindi possiamo vedere il piano di esecuzione realmente eseguito e grazie alle statistiche delle varie iterazioni possiamo analizzare come le modifiche apportate al codice abbiamo velocizzato o rallentato l'esecuzione. Infine abbiamo la possibilità di salvare i risultati delle nostre query in formato testo a tabulazione fissa.

Screenshot

Inoltre SqlServer 2005 ci mette a disposizione tre utility per una corretta installazione, configurazione ed utilizzo dello stesso: 'Sql Server Configuration Manager', 'Sql Server Surface Area Configuration' e 'Sql Server Error and Usage Report Settings'.

'Sql Server Configuration Manager' è diviso in tre aree:

  1. Sql Server 2005 Services, dal quale possiamo cambiare le proprietà dei servizi di Sql Server e di Sql Server Browser
  2. Sql Server 2005 Network Configuration, qui possiamo configurare i protocolli di rete che ci servono per un corretto funzionamento. Il protocollo di default è lo 'Shared Memory', protocollo che collega automaticamente Sql Server con i software di amministrazione installati sulla stessa macchina in modo da poter sempre interagire con Sql Server anche in caso di errori nella configurazione degli altri protocolli.
  3. Sql Native Client Configuration, qui possiamo configurare i protocolli che i client useranno per connettersi in modo nativo al server e gli 'Alias' che il nostro Sql Server userà per semplificare i nomi o la configurazione delle porte sue o di altri Sql Server.

'Sql Server Surface Area Configuration' si confà alla nuova linea intrapresa dalla Microsoft : 'Secure by default', ovvero che tutti i servizi non necessari al funzionamento base dell'applicativo siano disabilitati come opzioni di installazione di base. Questo perchè minori sono i punti di contatto con l'esterno minori sono le possibilità di subire un attacco, premesso poi che la maggioranza degli utenti non usa tutte le funzionalità che Sql Server mette a disposizione. Le funzioni avanzate di cui abbiamo bisogno quindi devono essere attivate manualmente e singolarmente. La finestra che viene mostrata spiega il perchè di questa utility ed invita alla lettura della guida. In basso ci sono le opzioni che abbiamo a disposizione: 'Surface Area for Services and Connection', che altro non sono che le opzioni dei Servizi che abbiamo già visto sotto 'Sql Server 2005 Services' di 'Sql Server Configuration Manager', e 'Surface Area for Features' dove si trovano le funzionalità avanzate.

Le opzioni che 'Surface Area for Features' permette di configurare per ogni istanza di Sql Server sono:

  1. Ad Hoc Remote Queries, consente di abilitare l'utilizzo di 'OPENROWSET' e di 'OPENDATASOURCE'
  2. CLR integration, abilita una delle più importanti novità di Sql Server 2005: l'integrazione con il Framework.Net 2.0, la possibilità di scrivere codice .Net che Sql Server interpreterà come un oggetto nativo e lo processerà/eseguirà come tale. Questo aumenta la programmabilità del prodotto e aiuta a risolvere problemi di calcolo complessi all'interno dello stesso Sql Server evitando lunghi round-trip con i client.
  3. Native XML Web Services, non supportato direttamente da Sql Server 2005 Express.
  4. OLE Automation, abilita l'esecuzione di oggetti OLE.
  5. Service Broker, non supportato direttamente da Sql Server 2005 Express.
  6. xp_cmdshell, permette l'esecuzione di Stored Procedure che interagiscono con il sistema operativo.

Per finire abbiamo 'Sql Server Error and Usage Report Settings'. Questa utility ci permette di scegliere se inviare a Microsoft, in forma del tutto anonima, gli errori di Sql Server e/o l'utilizzo delle specifiche caratteristiche per ogni singola istanza. Queste opzioni di default sono disabilitate.

L'annunciato progressivo abbandono del protocollo OLEDB suggerisce che la Microsoft voglia imporre l'utilizzo di Sql Server 2005 Express, con Asp.Net 2.0, anche nelle piccole applicazioni Web dove attualmente viene utilizzato Microsoft Access per entrare in diretta concorrenza con l'accoppiata PHP-MySql. L'attacco viene portato copiando le caratteristiche che negli anni hanno visto imporre PHP e MySql ovvero velocità e facilità di sviluppo e gestione aggiunte al fatto di essere entrambi gratuiti.

Ti consigliamo anche