ottobre 2005 Blog Posts
Per sapere quanti e quali indici ci sono in una tabella è possibile andare a leggere in un variegato numero di viste di sistema (DMVs d'ora in poi) e da funzioni di sistema. Le informazioni messe e disposizione sono davvero tante, e ci si può perdere. Se è necessario sapere solamente quanti indici ci sono in una tabella, di che tipo sono e quanto occupano è possibile usare questo semplice e comodo script:
select [name], type_desc, space_used_in_kb = (page_count * 8.0), space_used_in_mb = (page_count * 8.0 / 1024.0) from sys.indexes Iinner join sys.dm_db_index_physical_stats(db_id(), object_id('<schema>.<tabella>'), null, null, null) P on I.[object_id] = P.[object_id] and...
posted @ lunedì 31 ottobre 2005 16:09 |
Le novità del framework 2.0 (C# in particolare) in poche e semplici righe con tanto di esempi e confronti con le versioni 1.x del framework stesso:
http://www.dotnetfun.com/
Si trovano anche esempi per quanto riguarda le novità di SQL Server 2005. Utile!
posted @ lunedì 31 ottobre 2005 09:36 |
Ho appena finito di installare la versione Developer di SQL Server 2005 RTM sul mio portatile.
Ho deciso di rischiare (in realtà non avevo praticamente dubbi sul fatto che tutto sarebbe andato liscio, visto i numerosi lab di upgrade da 2000 a 2005 che ho tenuto) ed ho fatto un'upgrade in-place di tutta la mia installazione, che comprendeva:
SQL Server 2000
Analysis Server 2000
Reporting Services 2000
Terminata la fase preliminare l'upgrade mi avvisa che i Reporting Services sulla mia macchina sono in Italiano (non è vero! erano la versione multi-language) e che pertanto non può procedere con l'upgrade del prodotto. Ok, disinstallo...
posted @ sabato 29 ottobre 2005 16:23 |
Sono in linea gli abstract delle mie sessioni a WPC 2005. Per comodità li riporto anche qui:
Gestione ottimale degli indici con SQL Server 2000 e 2005Gli indici sono alla base di un sistema performante. In questa sessione andremo ad analizzarne in profondità i vari tipi, le loro catteristiche, le tipologie di utilizzo e le tecniche di manutenzione che ci permettono di ottimizarne l'uso. L'obbiettivo è quello di chiarire, in modo pratico ed immediatamente fruibile, come e quando usare gli indici nei nostri database in modo da otterne le massime prestazioni possibili. Ovviamente il tutto tenendo conto anche delle novità introdotte...
posted @ venerdì 28 ottobre 2005 20:06 |
Lorenzo ha fatto un pò di foto alla SMAU, ed è riuscito a beccarmi mentre ero in sessione a parlare di SQL Server 2005 Express....certo dalla foto sembro più una delle sorelle Carlucci a Buona Domenica ma, vi assicuro, non stavo ballando!
http://blogs.dotnethell.it/lorenzo/ShowImage.aspx?ID=2494
posted @ mercoledì 26 ottobre 2005 20:16 |
E' finalmente online l'agenda definitiva di WPC 2005! Come potrete notare mi è stata assegnata un nuova sessione (sui nuovi DTS di SQL Server 2005), oltre a quelle che già avevo (le trovate qui), cosa che ovviamente mi fa solo piacere, anche se vorrà dire che le mie ore di sono diminuiranno ulteriormente...
ASAP inserirò i vari abstract, ma devo dire che c'è di che leccarsi i baffi! A breve più informazioni quindi, ma come potrete notare dai titoli delle mie sessioni, finalmente sono riuscito anche ad avere una sessione che parlerà solo e solamente di indici, del loro utilizzo e della loro...
posted @ mercoledì 26 ottobre 2005 18:34 |
Finalmente posso pubblicare con sicurezza le sessioni che quest'anno terrò all'ormai storica WPC:
SIS145: Gestione ottimale degli indici con SQL Server 2005SVI212: SQL Server 2005 Reporting ServicesSVI326: SQL Server 2005 Service Broker
Le mie preferite sono quella sugli indici e - ovviamente - quella sul broker. Anche quella sui reporting services non è male però
Ho già in mente delle belle idee su come organizzarle, in particolare quella sugli indici, attraverso la quale spero di spiegare in modo definitivo cosa sono, perchè esistono, come funzionano e come devono essere utilizzati / gestiti i nostri amici indici, includendo le novità introdotte da SQL 2005,...
posted @ sabato 22 ottobre 2005 00:28 |
Sul Wiki è stata aperta in modo "ufficiale" una sezione completamente dedicata alla recensione dei libri dedicati allo sviluppo (inteso nella sua forma più ampia), dove chiunque potrà attingere per poter andare a colpo sicuro nell'acquisto di un libro e, in perfetto stile wiki, nella quale ognuno può contribuire recensendo il libro che, secondo lui, è di consigliare in quanto particolarmente utile e bello.
E' - secondo me - particolarmente importante quest'ultimo punto. A differenza delle recensioni che troviamo nelle riviste o su altri siti, questa lista vuole essere un riferimento per tutti coloro che chiedono "il miglior libro per...". E'...
posted @ mercoledì 19 ottobre 2005 21:52 |
Anche io sarò presente alla SMAU 2005 come speaker per le sessioni su SQL Server 2005 (Express, Amministrazione e Sicurezza).
Se avete voglia di iniziare a prendere coscienza di quanto SQL Server 2005 può offrire, oppure volete solamente discutere delle novità (anche non legate alle sessioni che tengo), oppure volete semplicemente vedere un BEL PO' di belle ragazze Fate un salto allo stand Microsoft! (Padiglione 12)
posted @ mercoledì 19 ottobre 2005 15:42 |
Sono sempre stato molto critico verso l'Università Italiana. In particolare ho sempre criticato il suo distaccamento totale dal mondo del lavoro - in particolare sul versante informatico - che di fatto rendeva, dal mio punto di vista, quasi inutile frequentare alcuni corsi che davvero davano molto poco allo studente in termini di inserimento nel mondo del lavoro.
Bene, è arrivato il momento di ricredermi. Venerdì scorso ho iniziato a supportare i professori del corso di informatica all'università Milano Bicocca, presso la quale si sta tenendo il primo (credo) corso di programmazione con il .NET Framework (C# in particolare). La prima giornata...
posted @ domenica 16 ottobre 2005 13:47 |
Anche l'occhio vuole la sua parte, e quindi progettare bene un'interfaccia grafica è importante tanto quanto progettare bene tutto il resto dell'applicazione (può sembrare strano ma è vero....che senso ha un database disegnato perfettamente se poi nessuno lo usa?).
Questo link contiene il miglior tutorial in assoluto sull'uso dei css:
http://css.maxdesign.com.au/selectutorial/index.htm
posted @ sabato 15 ottobre 2005 13:05 |
Vedo che si comincia a creare un pò di interesse intorno al tema del data modelling. Un ottimo libro sull'argomento, molto aggiornato, che tiene conto anche delle domande normalmente poste da chi ha esperienza di sviluppo OO e delle ultime teorie sulla sviluppo Agili (senza per questo "violare" i normali concetti di data modelling) è questo
Data Modeling Essentialshttp://www.amazon.com/exec/obidos/tg/detail/-/B0007KIQP4/ref=pd_sim_b_5/104-8044554-9575905?%5Fencoding=UTF8&v=glance
Potrete cosi avere riposte so come cercare di modellare un database in modo corretto. Scoprirete cosi come è possibile creare un solido modello dati anche se le informazioni che avete a disposizioni sono incomplete. Ne consiglio la letture a chinque abbia a che fare con i...
posted @ giovedì 13 ottobre 2005 00:56 |
In SQL Server 2000 e 2005 per limitare il numero di righe restituita da un query ad una certa quantità predefinita si utilizza la clausola SELECT TOP n.
Un vecchio (e non standard) modo per fare le stessa cosa è quello di utilizzare, prima della query, l'opzione SET ROWCOUNT n che, come la SELECT TOP n, limita il numero di righe restituita dalla query eseguita dopo tale comando ad esattamente "n" righe.
Qualsiasi esperto e qualsiasi libro consiglierà sempre di utilizzare la SELECT TOP in quanto, rispetto alla SET ROWCOUNT è più ottimizzata e, soprattutto, standard. Bene, il fatto che sia standard è...
posted @ giovedì 13 ottobre 2005 00:06 |
Un post di oggi di Igor mi ha stimolato a scrivere un articolo che da qualche giorno ho nel cassetto. L'idea mi è venuta da quando ho assistito alla presetazioni di Paul Nielsen riguardo alla modellazione dei dati, dove, in una slide iniziale, mostrava in modo estramamente chiaro e semplice che impatto hanno sulle performance le ottimizzazioni che possiamo fare su un qualsiasi database (SQL Server 2000 e 2005 in particolare). Il concetto è riassunto da questa piramide:
Che in modo incofutabile comunica che l'impatto maggiore sulle prestazioni è dato da questa sequenza:
1 - Modello del database
Se il database è disegnato male (troppo o troppo poco...
posted @ lunedì 10 ottobre 2005 20:32 |
Quest'anno alla SMAU si parlerà anche di SQL Server 2005, ed io sarò presente come speaker nelle sessioni riguardanti Sql Express, Security ed Amministrazione. Agenda ed informazioni più specifiche sugli eventi di SMAU erogati da Microsoft li potete trovare qui:
http://www.microsoft.com/italy/smau/eventi/default.mspx
posted @ giovedì 6 ottobre 2005 12:22 |
Di AJAX se ne è già parlato abbastanza (dopotutto è la buzzword del momento ) ed io non ho intenzione di dire nulla di nuovo in proposito, visto che è gia stato quasi detto tutto ed il contrario di tutto. Quello di cui voglio discutere qui è l'utilizzo di una tecnologia asincrona come AJAX in un contesto un pò più grosso, come può essere un moderno sito web (intranet, extranet o public website che sia).
L'idea di utilizzare una qualsiasi architettura che renda asincrone alcune chiamate al server è, per quello che mi riguarda, qualcosa che diventerà sempre più una normalità,...
posted @ giovedì 6 ottobre 2005 01:09 |
La nuova feature di SQL Server 2005 che permette di salvare il piano di esecuzione come XML (XML Showplan) offre anche un'ottimo spunto per ottimizzare al massimo le prestazioni della query associatà al piano di esecuzione prodotto.
Andando ad aprire il file XML con un editor di testo, è possibile trovare l'elemento MissingIndexes. Se questo elemento è presente significa che il Query Optimizer ha stabilito che la query avrebbe potuto avere un piano di esecuzione nettamente migliore se un indice con le caratteristiche descritte nell'elemento in questione fosse esistito.
Le informazioni restituite circa l'indice da creare comprendo, ovviamente, le colonne chiave...
posted @ martedì 4 ottobre 2005 08:37 |
In SQL Server 2005 gli indici potranno essere disabilitati; questo è equivalente alla distruzione dell'indice stesso, in quanto SQL Server non lo utilizzerà nè lo manterrà aggiornato, e quindi non impatterà sulle performance del sistema.
Un'altra novità per quanto riguarda gli indici è che questi potranno essere ricostruiti online. In SQL Server 2000 la ricostruzione dell'indice (ALTER INDEX WITH DROP EXISTING) richiedeva un lock esclusivo sulle risorse, e quindi durante l'operazione di reindicizzazione i dati non potevano essere acceduti da nessuno. Nella versione 2005 tale operazione, se utilizzata la modalità online, creerà invece un indice parallelo, write-only per tutta la durata...
posted @ martedì 4 ottobre 2005 08:28 |