Allora dopo un giorno di pausa provo a raccontare cosa ho visto al
Sql2005 RoadShow.
C'erano tre track ben distinte
Svilluppo, Business Intelligence e Archittetura/Amministrazione.
Chiaramente mi sono seguito interamente sviluppo e una parte di BI quella riguardo ai reporting Services.
Riassumo molto velocemente le novità e le modifiche poi appena avrò un pò di tempo(soprattutto per testare) farò un'articolo.
Per lo sviluppo le novità sono:
SQLCLR, ovvero il framework all'interno di sql Server, potendo creare storeprocedure , UDF, UDT e trigger utilizzando uno dei linguaggi messi a disposizione. Con visual studio rimane molto semplice e potente perchè si crea un nuovo progetto chiamato
Sql Server; la cosa piuttosto utile è quella di effettuare un debug come accadde solitamente nelle nostre applicazioni. Poi tramite il
deploy si può caricare su Sql Server.
Sinceramente all'inizio questa mi sembrava un'ottima novità invece credo che creerà solo confusione e magari poterà parecchia gente a mischiare T-SQL con CLR speriamo di NO!
Novità invece molto interessante è
XML Data Type ovvero la possibiltà di creare una colonna come xml "puro" senza dover ricorrere a un campo text come avvine ora in Sql 2000.
Su xml le novità sono diverse perchè c'è la possibilità di validare il file attraverso un XmlSchema o più semplicemente con un costraint, si possono inserire sia documenti che anche solo dei frammenti(insieme di nodi), indicizzare il campo per una più veloce consultazione e soprattutto effetturare ricerce utilizzando XPATH o anche il nuovo standard XQuery, poter interagire tra i dati xml e i dati relazionali.
Altra novità davvero interessante è un nuovo servizio il
Service Broker in parole povere un servizio di messaggistica asincrona che lavora sulle code di messaggi. Vederlo all'opera è stato entusiasmante perchè fà diverse cose in automatico come gestire la concorrenza, l'ordinamento dei messaggi. Questo servizio permette di interagire tra client e server attraverso dei messaggi che possono essere file xml o binari e la cosa buona che si può lavorare disconessi e una volta che ci si connette in automatico i messaggi vengono inviati. Il servizio lavora sul protocollo
TCP/IP.
Con sql2005 si possono esporre storeprocedure come dei
web service senza dover ricorrere ad un web server come IIS(Utile ma fino ad un certo punto è vero che c'è si può sfruttare la sicurezza di sql server ma esporre un database server è sempre un pericolo).
Modifiche al linguaggio T-SQL:Gestione completa degli errori attraverso il blocco Try/Catch(Finalmente!) in pratica possiamo usare il blocco come faccio per esempio in c# esempio
Begin Try
Update Clienti Set Cognome = 'Caruso'
Where Id=10
End Try
Begin Catch
gestione dell'errore che può essere fatta con nuove funzioni tipo Error_Number(), Error_Message()
End Catch
Poi funzonalità di
ranking, le
Common Table Expression ovvero "simili" a viste temporanee ma non vengono salvate sono molto utili nelle funzioni ricorsive. utilizzo dei trigger anche nelle funzioni DDL.
Poi il secondo giorno mi sono seguito la parte di Business Intelligence.
Davvero interessante come sono stati riscritti i DTS che adesso si SSIS(Sql Server Integration Services) con la possibilità di debuggarli e creare dei workflow niente male.
Ancor meglio il team di sql server ha fatto con Analisys Service e in generale con OLAP. Ora si crea un progetto con ambiente di sviluppo(che in pratica è visual studio) e si creano dimensioni e misure molto più facilmente. Hanno introddo la possibilità di scripptare i cubi per fare l'upload(come vorrei averlo avuto un'anno fà
), ora è molto più facile fare delle query MDX...
Dal punto di vista dei Reporting Services le novità non sono molto ma credo significative:
La prima è quello del controllo della stampa in pratica viene scaricato activex che permette di fare l'anteprima del report e poi stamparlo), la possiibiltà del multivalue con i parametri e ottimo il Report Builder che permette all'utente finale di creare dei report(volete ancora usare Cristal Report????). Una cosa che manca e che ho sentito la necessità in un progetto è quello di poter usare i css ancora niente cacchio
Se mi sono dimenticato qualcosa ho sono stato impreciso bacchettami pure