T-Sql

E' possibile disabilitare un Trigger dall'interno di un altro?

Sergio Govoni

Quale effetto produce l’esecuzione di un comando DDL per disabilitare un trigger presente sulla stessa tabella su cui è presente il trigger che lo invoca ?

Sembra un gioco di parole, ma chi ha realizzato il trigger che ho controllato poco tempo fa non si è posto questa domanda.

La segnalazione è arrivata da alcuni utenti dell’ufficio commerciale, dopo un intervento tecnico hanno iniziato a lamentare pesanti rallentamenti proprio quando era in corso l’inserimento di uno o più ordini di vendita.

Workshop UGISS R2 - Alessandria

Davide Mauri
**15 Gennaio 2010 **_c/o Dipartimento di Informatica, Università del Piemonte Orientale Viale Teresa Michel, 11 15121 Alessandria _http://www.di.unipmn.it Il 15 gennaio 2010, in collaborazione con l’Università di Alessandria si terrà il primo workshop UGISS dell’anno. Quattro sessioni che mostreranno come Teoria e Pratica unite siano le pietre fondanti di ogni soluzione di qualità. Qualità dei dati, ottimizzazione delle perfomance delle query e Business Intelligence i temi della giornata. Grazie alla collaborazione con l’Università l’evento mira non solo ad essere un momento formativo, ma anche un punto di incontro tra studenti, aziende e professionisti del settore, permettendo di creare dei momenti comuni in cui poter fare networking ed espandere la propria rete di conoscenze e contatti. Oltre a tutto questo, in vista anche del rilascio di SQL Server 2008 R2, nell’ultima ora della giornata si terrà una overview delle novità di questa release. **Informazioni Logistiche: **Informazioni su come raggiungere la sede dell’evento, sono disponibili qui: - Dove Siamo - Come Raggiungerci **Partecipazione Gratuita: **La partecipazione all’evento è gratuta. Per partecipare è necessario essere membri di UGISS (iscrizione anch’essa gratuita. Se non siete ancora iscritti fatelo subito!). **Sponsor: **La possibilità di poter organizzare questo evento è totalmente dovuta alla presenza di importanti sponsor nazionali ed internazionali, che hanno creduto nell’importanza di questi eventi:   **Iscrizione: **Online, tramite il seguente link: http://community.ugiss.org/forums/p/2563/6746.aspx#6746 Agenda 09.00 - 9.30Registrazione                              09.30 - 10.00Presentazione di UGISS e introduzione alla giornata     10.00 - 11.15Theory in Practice: Vincoli, Qualità dei dati e Normalizzazione(Speaker: Gianluca Hotz)I vincoli a garanzia della qualità dei dati sono uno dei maggiori punti di forza degli RDBMS. In questa sessione vedremo come mettere in pratica la teoria utilizzando SQL Server per creare vincoli semplici, quali chiavi primarie, chiave esterne, ma anche vincoli più complessi sia di natura dichiarativa che procedurale. Vedremo anche come il processo di normalizzazione ci può aiutare per garantire alcune regole.   11.15 - 11.30Break - Domande & Risposte       11.30 - 12:45Set Based Thinking(Speaker: Davide Mauri)Nel risolvere un problema, non sarebbe bello poter sempicemente dire alla macchina “cosa” si vuole ottenere, lasciando risolvere il problema di “come” farlo, lasciandolo al macchina stessa? In questo modo essa potrebbe anche tenere conto delle condizioni di contorno, in modo tale di produrre il risultato nel modo migliore possibile. Tale approccio è possibile, ed inoltre il modo più performante di scrivere query, in quanto permette al database di lavorare su insiemi di dati e di non ridursi ad un approccio “row-by-row”, molto semplice ma molto poco efficiente e scalabile.Pensare per insiemi (“Set-Based”) è però qualcosa che si acquisisce con il tempo, esercitando la propria mente a “vedere oltre” i dati con cui si lavora, portando alla luce proprietà nascoste che permettono di risolvere il problema in modo completamente set-based: questo scoglio iniziale rappresenta una fatica ben ripagata in quanto ci permette di ottenere query assolutamente più performanti e scalabili di qualsiasi query potremmo scrivere altrimenti.In questa sessione vedremo come poter risolvere problemi comuni utilizzando un approcio Set-Based  e quindi dichiarativo, verificando con mano l’aumento di performance dei nostri sistemi e apprezzando come, una volta trovata la soluzione a livello logico, sia possibile semplicemente esprimerla in codice T-SQL, lasciando a SQL Server l’onere di attuare tutti gli step fisici necessari per portarla a compimento.    12.45 - 14.00Pranzo      14.00 - 15.15Business Intelligence Parte 1 – The relational side(Speaker: Marco Russo & Alberto Ferrari)Quali sono le fondamenta sulla quale una soluzione di BI si basa? Quali gli aspetti architetturali e le decisioni di design da prendere? Questa sessione mostrerà come quali sono tutti gli step necessari per creare un Datawarehouse (DWH), offrendo un’overview delle diverse tecniche, ognuna con i suoi pro ed i suoi contro, tenendo sempre anche un’occhio di riguardo per le performance poichè, dovendo gestire moli di dati importanti, sono sempre un punto delicato.     15.15 - 15.30Break - Domande & Risposte      15.30 - 16.45Business Intelligence Parte 2 – ETL, Cubes & Reports(Speaker: Andrea Benedetti & Alberto Ferrari)Una volta disgnato il DWH è ovviamente necessario riempirlo con i dati da analizzare. La fase di ETL, che assolve questo compito, è una parte importante e delicata di ogni soluzione di BI. E’ in questa fase che ci si occupa di pulire i dati, gestirne la storicità, arrichirli con informazioni di contorno, e quindi inserirli nel DWH. Il tutto deve essere ovviamente fatto nel minor tempo possibile. Il che rappresenta sempre una bella sfida.Il passo successivo è quella di procedere all’analisi dei dati cosi ottenuti. Tramite l’utilizzo di strumenti di reportistica e di strumenti di aggregazione ed analisi, è possibile trasformare le informazioni presenti nei dati, in conoscenza. Analysis Services e Reporting Services sono gli strumenti di lavoro di questa fase. Fase particolaramente cara agli utenti finali, poichè in grado di rendere la loro vita molto più semplice.    16.45 - 17.00Break - Domande & Risposte      17.00 - 18.00SQL Server 2008 R2, le novità per il futuro prossimo(Speaker: Davide Mauri)In questa sessione andremo a vedere le novità offerte da SQL Server 2008 R2. Dalle feature in tema di Business Intelligence quali la nuova edizione “Parallel Datawarehouse” e PowerPivot, alle feature di analisi di stream di dati con StreamInsight, le novità introdotte nell’Engine ed in Reporting Services ed il nuovo Master Data Services per riconciliare i dati in azienda, creando dei “Master Data” verificati e certificati anche a livello OLTP.La sessione avrà la forma di un “Open Panel” dove parteciperanno tutti gli speaker, portando ognuno differenti punti di vista sulle nuove tecnologie.     Il materiale utilizzato dell’evento è disponibile per il download per tutti i membri di UGISS qui: http://community.ugiss.org/files/folders/workshop-20100115/default.aspx

ORDER BY nella clausola UNION in SQL Server 2000 e 2005 (o successivi)

Sergio Govoni

Con SQL Server 2000, vi siete mai imbattuti nel messaggio di errore numero 104 ?

Server: Msg 104, Level 15, State 1, Line 1
ORDER BY items must appear in the select list if the statement contains a UNION operator.

Questo messaggio viene restituito quando si utilizza l’operatore UNION per combinare i risultati di due o più istruzioni SELECT nelle cui dichiarazioni è presente una clausola ORDER BY e le colonne citate nell’ordinamento non sono parte (anche) della SELECT.

Not a Number Value in Float Field

Sergio Govoni

In questo articolo parleremo della situazione che si verifica quando nel DB vengono memorizzati dei valori numerici, in colonne di tipo float, che però non possono più essere letti correttamente.

Tutto è iniziato dalla segnalazione di un utente che lamentava un errore in fase di estrazione dei dati di fatturato. La versione di SQL Server in produzione è la 2000 (SP4 – versione 8.00.2039) e l’errore restituito durante l’esecuzione della query è: “An error occurred while executing batch. Error message is: Overflow aritmetico.

Microsoft Techdays WPC 2009

Davide Mauri
Come ogni anno si rinnova l’appuntamento con la più importante conferenza Italiana dedicata alle tecnologie informatiche di casa Microsoft. Dal 24 al 26 novembre si terrà la 16° edizione dell’evento tecnico più atteso dell’anno, Microsoft TechDays-WPC2009: tre intense giornate di formazione e aggiornamento professionale di elevato profilo dedicate a professionisti IT e sviluppatori interessati ad approfondire la conoscenza delle nuove tecnologie Microsoft. Windows 7, Windows Server 2008 R2, SQL Server 2008, Exchange Server 2010, Office Communication Server R2, Office SharePoint Server, Business Productivity Online Services, Visual Studio, Silverlight 3, Asp.net, Windows Azure, saranno alcuni dei protagonisti sul palco di Microsoft TechDays-WPC2009 con oltre 90 sessioni tecniche presentate da più di 30 esperti del settore. E come ogni anno i membri UGISS possono beneficiare di uno sconto speciale di 50€! Per sapere come accedere a questo sconto, trovate tutte le indicazioni nella pagina dedicata: Microsoft TechDays WPC 2009 Discount Benefit