SQL Server 2005 http://blogs.ugidotnet.org/nettools/category/SQL Server 2005.aspx SQL Server 2005 it-IT Davide Mauri Subtext Version 2.6.0.0 Mr. Hibernate sui Database Relazionali: un post di rara bellezza http://blogs.ugidotnet.org/nettools/archive/2007/05/25/mr-hibernate-sui-database-relazionali.aspx <p>Direttamente da Gavin King (Mr. Hibernate, l'amico di Janky <a title="" href="/nettools/admin/EditPosts.aspx#"><img alt="" border="0" src="http://www.davidemauri.it/emoticone/appagato.gif" /></a>) un post che la dice lunga, molto lunga:</p> <strong>"In Defence of RDBMS" <br /> </strong><a href="http://blog.hibernate.org/cgi-bin/blosxom.cgi/2007/05/23">http://blog.hibernate.org/cgi-bin/blosxom.cgi/2007/05/23</a> <p>Il post è piuttosto lungo, e quindi riporto solo due estratti di quanto scritto da Gavin. Li riporto perchè sono concetti che chi mi conosce sa che difendo da sempre....anche quando sembravano essere controcorrente, e venivano tacciati come "vecchi e superati", ma ora che è passata la moda si riscoprono e tornano alla luce del sole...Bene, meglio tardi che mai!</p> <p>Sulla centralità e sulla vita dei database:</p> <p>"<em>[...] data and data models last longer than applications, longer even than programming languages. Data is shared between many applications in an enterprise, and they are not all written in Java.</em>"</p> <p>Mi sembrano parole conosciute....;-); Sui database legacy:</p> <p>"<em>Data management professionals need to start treating their data models and database schemas as ongoing projects of real value to the organization, which need constant ongoing maintainence and evolution. They need to stop treating a legacy schema as some immutable holy text handed down by God.</em>"</p> <p>Che è qualcosa che continuo a dire da anni, in barba a chi sostiene (a torto) che un db "non si può toccare". Nulla è immutabile: certo modificare un db è molto più costoso che modificare un'applicazione - e quindi è bene disegnare lo schema correttamente fin dall'inizio, seguendo le regole di normalizzazione senza remore - ma è possibile!</p> <p>Per chiudere il post riporto anche un pezzo di un altro autorevole blog (<a href="http://sqlservercode.blogspot.com/2007/05/object-databases-suck-rdmbss-rock.html">http://sqlservercode.blogspot.com/2007/05/object-databases-suck-rdmbss-rock.html</a>):</p> <p>"<em>And remember the latest version of Nhibernate <strong>DOES</strong> support stored procedures! No more wizard generated SQL that is hard to debug because you don't know what it looks like.</em>"</p> <p>I due post sono semplicemente da stampare ed incorniciare.</p><img src="http://blogs.ugidotnet.org/nettools/aggbug/79256.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/05/25/mr-hibernate-sui-database-relazionali.aspx Fri, 25 May 2007 13:08:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/05/25/mr-hibernate-sui-database-relazionali.aspx#feedback 15 http://blogs.ugidotnet.org/nettools/comments/commentRss/79256.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/79256.aspx Tip MSDN: Trovare i buchi in una sequenza di numeri http://blogs.ugidotnet.org/nettools/archive/2007/05/18/78593.aspx E' stato pubblicato su <A href="http://www.microsoft.com/italy/msdn">MSDN</A> un nuovo tip dedicato alla risoluzione di un problema abbastanza frequente per chi lavora con i database: trovare (in modo&nbsp;veloce...i cursori ed i loop non sono ammessi!)&nbsp;i "buchi" in una sequenza di numeri. <A href="http://www.microsoft.com/italy/msdn/risorsemsdn/community/tips/0705.mspx#EMC">Leggetelo qui</A>.<img src="http://blogs.ugidotnet.org/nettools/aggbug/78593.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/05/18/78593.aspx Fri, 18 May 2007 19:04:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/05/18/78593.aspx#feedback 3 http://blogs.ugidotnet.org/nettools/comments/commentRss/78593.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/78593.aspx (Controcorrente?) Rilasciato SubSonic 2.0: un tool per sviluppare velocemente applicazioni medio/semplici http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77778.aspx <P>Non tutti devono (o possono) sviluppare applicazioni prendendosi un numero di giorni di sviluppo abbastanza ampio da poter implementare tutto lo "stack" di layer&nbsp;tipico di un'applicazione di una certa caratura.</P> <P>Partendo quindi dal presupposto che un modello dati dabba per forza essere fatto (ossia il database, ed che sia pure fatto bene, altrimenti il discorso va a ramengo) pu&#242; venire molto utile un piccolo framework come SubSonic che permette di creare in automatico tutto il codice necessario per al database (possibilmente passando attraverso Stored Procedure). </P> <P>Potete scaricare il progetto (ed il codice sorgente) da qui:</P> <P><A href="http://www.codeplex.com/actionpack">http://www.codeplex.com/actionpack</A>&nbsp;</P> <P>e vedere la documentazione qui (ancora in via di sviluppo):</P> <P><A href="http://subsonichelp.com/">http://subsonichelp.com/</A>&nbsp;</P> <P>Se prima di installarlo volete prendere 5 minuti per capire come funziona dal vivo c'&#232; un bel webcast qui:</P> <P><A href="http://www.wekeroad.com/actionpackintro.html">http://www.wekeroad.com/actionpackintro.html</A>&nbsp;</P> <P>PS</P> <P>Certo, l'idea &#232; quella cmq di creare l'applicazione a strati, utilizzando SubSonic eventualmente come piccolo DAL iniziale....questo non costa molto, non porta via molto tempo e permette cmq in futuro di potere sostituire il DAL cosi fatto con qualcosa di migliore.</P><img src="http://blogs.ugidotnet.org/nettools/aggbug/77778.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77778.aspx Wed, 09 May 2007 15:32:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77778.aspx#feedback 4 http://blogs.ugidotnet.org/nettools/comments/commentRss/77778.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/77778.aspx Articolo MSDN sugli indici http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77712.aspx <P>E' stato pubblicato&nbsp;a <A href="http://www.microsoft.com/italy/msdn/risorsemsdn/sql/indici.mspx">questo indirizzo</A> il mio articolo circa l'"Implementazione di indici efficaci", scritto e pensato per aiutare tutti gli sviluppatori ed i dba ad essere subito catapultati nel mondo degli indici, utilizzarli efficacemente e da subito, senza per&#242; scendere troppo nei tecnicismi.</P> <P>In soldoni &#232; un piccolo manualetto pratico di riferimento su come usare gli indici per riuscire a migliorare le prestazioni delle query e quindi delle proprie applicazioni. Per mettervi la pulce nell'orecchio (casomai non l'avessi gi&#224; fatto) vi dico solo che nell'ultimo esempio dell'articolo le prestazioni migliorano di 2459 volte (!!!). </P> <P>Articolo ideale per grandi e piccini, per chi scrive i DAL a mano ma anche per chi usa Hibernate! <A title="" href="#"><IMG src="http://www.davidemauri.it/emoticone/wink.gif" border=0></A>&nbsp;(o SubSonic...per <EM>par condicio :-)</EM>)</P><img src="http://blogs.ugidotnet.org/nettools/aggbug/77712.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77712.aspx Wed, 09 May 2007 09:55:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/05/09/77712.aspx#feedback 1 http://blogs.ugidotnet.org/nettools/comments/commentRss/77712.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/77712.aspx SQL Conference 2007 http://blogs.ugidotnet.org/nettools/archive/2007/04/24/76400.aspx <P>L'anno scorso &#232; piaciuta cosi tanto che cosi anche quest'anno si replica. Sto parlando della <A href="http://www.sqlconference.it/">SQL Conference 2007</A>, che si terr&#224; a Milano presso la sede Microsoft dal 12 al 14 giugno.</P> <P>Quest'anno la conferenza viene proposta in 3 giorni, in forte collaborazione con Microsoft ed il team di sviluppo stesso di SQL Server, con la quale abbiamo stretto e rinnovato l'amicizia nell'appena trascorso MVP Summit.</P> <P>Per quanto mi riguarda mi occuper&#242; di due sessioni:</P> <P><A title="SQL Server 2005: analisi prestazioni e ottimizzazione" href="http://www.sqlconference.it/sessioni.aspx#C314" target=_self>C314 - SQL Server 2005: analisi prestazioni e ottimizzazione</A><BR><A title="SMO: Server Management Objects" href="http://www.sqlconference.it/sessioni.aspx#C316" target=_self>C316 - SMO: Server Management Objects</A> </P> <P>la prima &#232; un evergreen e non ha bisogno di presentazioni, la seconda invece &#232; dedicata ad una tecnologia non molto conosciuta ma invece davvero notevole che permette di automatizzare SQL Server (ed il resto dei suoi componenti) in modo davvero impressionante. Vi consiglio vivamente di seguirla, sono sicuro che scoprirete cose molto interessanti!</P><img src="http://blogs.ugidotnet.org/nettools/aggbug/76400.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/24/76400.aspx Tue, 24 Apr 2007 08:59:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/24/76400.aspx#feedback 1 http://blogs.ugidotnet.org/nettools/comments/commentRss/76400.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/76400.aspx Powershell & SQL Server = Automazione totale http://blogs.ugidotnet.org/nettools/archive/2007/04/16/75608.aspx <P>Settimana scorsa ho avuto l'occasione di iniziare ad usare PowerShell in produzione. Devo dire che non ne vedevo l'ora, dopo aver visto le bellissime cose che pu&#242; fare, anche grazie ai suggerimenti di <A href="http://www.pulsarit.net/cs/blogs/claudiog/default.aspx">Claudio</A> che me ne decanta sempre la potenza e la flessibilit&#224;.</P> <P>Dopo pochi minuti&nbsp;di utilizzo di PowerShell sono entrato nella fase "esaltazione pura": PowerShell &#232; un semplicemente stupendo! Avevo la necessit&#224; di estrarre da una serie di cubi di Analysis Server 2005 tutte le dimensioni e tutte le misure in modo da poterle mettere su excel ed iniziare a fare un'analisi approfondita delle necessit&#224; del cliente. Le dimensioni e le misure erano tante, quindi ho subito pensato ad un modo per evitare di fare tutto a manina. Ovviamente .NET ed AMO (Analysis Server Management Objects) sono stato subiti presi in considerazione, insieme allo sviluppo di una piccola console application che facesse quello che mi serviva. Per&#242; un'applicazione console, deve cmq essere compilata, richiede una certa conoscenza di Visual Studio e di .NET per essere manutenuta....cose che avrei preferito evitare, visto e considerato che sul progetto non ci lavoraono solo sviluppatori ma soprattutto DBA/DBDev&nbsp;e Sistemisti.</P> <P>Ho voluto provare ad usare PowerShell che, essendo appunto una Shell di comandi, &#232; pi&#249; facile da far utilizzare anche ai non-sviluppatori. Beh, devo dire che PowerShell fara contentissimi tutti, Sistemisti, DBA e Sviluppatori! Unendo la potenza di .NET con la possibilit&#224; di accedere alle risorse del sistema operativo e delle applicazioni (tramite COM o .NET)...si pu&#242; automatizzare praticamente qualsiasi cosa in brevissimo tempo (in questo la <EM>pipeline</EM> aiuta moltissimo). Ecco le poche righe di codice nessarie per fare quello che mi serviva:</P> <P><FONT face="Courier New" size=2>[System.Reflection.Assembly]::LoadFrom('C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.AnalysisServices.DLL')</FONT></P> <P><FONT face="Courier New" size=2>$server = New-Object 'Microsoft.AnalysisServices.Server'<BR>$server.Connect('localhost')</FONT></P> <P><FONT face="Courier New" size=2>$database = $server.databases.FindByName('Margine')<BR>$cube = $database.cubes[0]<BR>$cube.Dimensions | select-object Name, Dimension | Export-Csv 'c:\CUBO_Margine_Dimensioni.csv' -NoTypeInformation<BR>$cube.MeasuresGroup | % { $_.Measures} | select Parent, Name | Export-Csv 'c:\CUBO_Margine_Misure.csv' -NoTypeInformation</FONT></P> <P>Le persone che hanno visto all'opera PowerShell sono rimaste a bocca aperta! <A title="" href="#"><IMG src="http://www.davidemauri.it/emoticone/appagato.gif" border=0></A></P> <P>Pi&#249; tempo passa pi&#249; il .NET Framework manifesta tutta la sua grandiosa bellezza, e PowerShell ne &#232; che un fantastico esempio!</P><img src="http://blogs.ugidotnet.org/nettools/aggbug/75608.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/16/75608.aspx Mon, 16 Apr 2007 17:34:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/16/75608.aspx#feedback 2 http://blogs.ugidotnet.org/nettools/comments/commentRss/75608.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/75608.aspx Articoli MSDN in italiano http://blogs.ugidotnet.org/nettools/archive/2007/04/11/75227.aspx <P>I vari articoli MSDN scritti in italiano dai vari MVP (e non) sono ora disponibili, oltre che nei rispettivi Developer Center, anche in questa comoda lista:</P> <P><A href="http://www.microsoft.com/italy/msdn/risorsemsdn/community/mvp/articles.mspx">http://www.microsoft.com/italy/msdn/risorsemsdn/community/mvp/articles.mspx</A></P><img src="http://blogs.ugidotnet.org/nettools/aggbug/75227.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/11/75227.aspx Wed, 11 Apr 2007 19:41:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/11/75227.aspx#feedback 2 http://blogs.ugidotnet.org/nettools/comments/commentRss/75227.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/75227.aspx Generare dati di test http://blogs.ugidotnet.org/nettools/archive/2007/04/09/75059.aspx <P>Un interessante sito dove &#232; possibile generare dati di test, utile sia ai possesori di VS DB PRO (almeno fino a quando non ci sar&#224; una pi&#249; ampia scelta di Data Generators) sia, ovviamente, a chi non ne &#232; in possesso.</P> <P><A href="http://www.benjaminkeen.com/software/data_generator/">http://www.benjaminkeen.com/software/data_generator/</A></P><img src="http://blogs.ugidotnet.org/nettools/aggbug/75059.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/09/75059.aspx Mon, 09 Apr 2007 21:46:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/09/75059.aspx#feedback http://blogs.ugidotnet.org/nettools/comments/commentRss/75059.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/75059.aspx TechNet Magazine & SQL Server http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74498.aspx <P>Una serie di interessanti articoli relativi a SQL Server apparsi sul TechNet Magazine:</P> <P><A href="http://www.microsoft.com/technet/technetmag/issues/2007/04/SQLQA/default.aspx?loc=en">http://www.microsoft.com/technet/technetmag/issues/2007/04/SQLQA/default.aspx?loc=en</A></P> <P>Il mese di Marzo, in particolare, &#232; stato dedicato a SQL Server:</P> <P><A href="http://www.microsoft.com/technet/technetmag/issues/2007/03/default.aspx">http://www.microsoft.com/technet/technetmag/issues/2007/03/default.aspx</A></P><img src="http://blogs.ugidotnet.org/nettools/aggbug/74498.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74498.aspx Mon, 02 Apr 2007 18:36:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74498.aspx#feedback http://blogs.ugidotnet.org/nettools/comments/commentRss/74498.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/74498.aspx SQL Server Documentation Search Engine http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74428.aspx <P><A href="http://www.pulsarit.net/cs/blogs/claudiog/default.aspx">Claudio</A> mi segnala una versione di Microsoft Live! Search interamente dedicata a SQL Server:</P> <P><A href="http://search.live.com/macros/sql_server_user_education/booksonline">http://search.live.com/macros/sql_server_user_education/booksonline</A></P> <P>&nbsp;</P><img src="http://blogs.ugidotnet.org/nettools/aggbug/74428.aspx" width="1" height="1" /> Davide Mauri http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74428.aspx Mon, 02 Apr 2007 10:32:00 GMT http://blogs.ugidotnet.org/nettools/archive/2007/04/02/74428.aspx#feedback http://blogs.ugidotnet.org/nettools/comments/commentRss/74428.aspx http://blogs.ugidotnet.org/nettools/services/trackbacks/74428.aspx