<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://community.ugiss.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Speedway</title><link>http://community.ugiss.org/blogs/fmilano/default.aspx</link><description>Round Here &amp;amp; SQL</description><dc:language>it</dc:language><generator>CommunityServer 2007 SP2 (Debug Build: 20611.960)</generator><item><title>SQL Conference 2012: gentlemen, start your engines!</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/03/22/gentlemen-start-your-engines.aspx</link><pubDate>Thu, 22 Mar 2012 18:24:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:9064</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=9064</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/03/22/gentlemen-start-your-engines.aspx#comments</comments><description>&lt;p&gt;La SQL Conference 2012 è ormai alle porte, e &lt;em&gt;finalmente&lt;/em&gt; aggiungerei!&lt;/p&gt;&lt;p&gt;Come una donna bella e smaliziata, sa farsi attendere, ma sa anche ricompensare pienamente l&amp;#39;attesa. &lt;/p&gt;&lt;p&gt;La formula scelta dagli organizzatori quest&amp;#39;anno è molto particolare, e la novità principale è senza dubbio tutta una serie di sessioni parallele alle 2 track canoniche. &lt;/p&gt;&lt;p&gt;Cosa aspettarsi da queste sessioni? In breve, si tratterà di un contatto &amp;quot;ravvicinato&amp;quot; con gli &lt;a href="http://www.sqlconference.it/events/2012/speakers.aspx"&gt;esperti del settore&lt;/a&gt; che permetterà, oltre che picchiarli se non vi è piaciuta la loro sessione (tanto io sono l&amp;#39;ultimo...:D), di intavolare piacevoli discussioni sugli argomenti tecnici più disparati, in un ambiente meno formale e più &amp;quot;intimo&amp;quot;&amp;nbsp;(si svolgeranno infatti volutamente in aule dalla capienza più ristretta)&amp;nbsp;della classica sessione one-way (in cui lo speaker parla, il pubblico...si appisola).&lt;/p&gt;&lt;p&gt;Credo che rimandarvi all&amp;#39;agenda sia effettivamente la cosa migliore da fare, anche perchè le sessioni, suddivise in diverse tipologie,&amp;nbsp;sono ben 20 e c&amp;#39;è solo l&amp;#39;imbarazzo della scelta. Ecco il link: &lt;a href="http://www.sqlconference.it/events/2012/sessions.aspx#a"&gt;http://www.sqlconference.it/events/2012/sessions.aspx#a&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Le due main-track parallele, dal canto loro,&amp;nbsp;sono oltremodo ricche, grantendo una copertura di tutte le novità offerte da SQL Server 2012 con ampie sessioni dal taglio tecnico ed approfondito. A &lt;a href="http://www.sqlconference.it/events/2012/agenda.aspx"&gt;questo link&lt;/a&gt;&amp;nbsp;è possibile valutare nel dettaglio il proprio percorso formativo grazie anche ai comodi filtri presenti nella colonna di destra. Quest&amp;#39;anno la faranno da padrone le novità nel campo BI (sia Self-service, grazie a PowerPivot e xVelocity/VertiPaq,&amp;nbsp;che Enterprise) e l&amp;#39;importanza del mondo Cloud grazie all&amp;#39;integrazione, estesa notevolmente in questa versione,&amp;nbsp;con l&amp;#39;ormai diffusissimo Azure.&lt;/p&gt;&lt;p&gt;Per quanto riguarda me, invece, terrò la sessione sugli &lt;a href="http://www.sqlconference.it/events/2012/sessions.aspx#s69"&gt;Spatial Data Type&lt;/a&gt;. Le novità, anche in questo caso, sono davvero succose. Dato che le slide &lt;em&gt;sono già pronte&lt;/em&gt; (record assoluto personale, ho ancora il magone)&amp;nbsp;posso anticiparvi che sarà una sessione più pratica che teorica. Ho scelto questa strada perchè toccare con mano elementi geometrici e geografici lascia quella piacevole sensazione di &amp;quot;evadere&amp;quot; dal canonico data storage, e fa apprezzare ancora di più l&amp;#39;integrazione&amp;nbsp;che questi tipi di dati (così diversi da quelli che siamo abituati a trattare) hanno&amp;nbsp;ad oggi&amp;nbsp;con l&amp;#39;engine di SQL Server e con le soluzioni ad esso legate, Reporting Services su tutti.&lt;/p&gt;&lt;p&gt;La diffusione sempre più ampia di dispositivi portatili e di &amp;quot;app&amp;quot; geo-enabled (termine coniato in questo momento, credo...no come non detto, più di 18.000.000 di risultati su Google) sta rendendo fondamentale poter legare le potenzialità ed i servizi di un RDBMS a dati di localizzazione ed&amp;nbsp;effettuare ricerche rapide e precise su di essi. SQL Server si fa trovare pronto e fornisce una risposta concreta out-of-the-box, garantendo inoltre una rappresentazione grafica dei dati geospaziali davvero rapida ed intuitiva grazie al Map Control di Reporting Services e l&amp;#39;integrazione con Bing Maps.&lt;/p&gt;&lt;p&gt;Se siete ancora nel dubbio se esserci o meno, vi ricordo che ad oggi sono disponibili meno di 15 posti. Che dire, affrettatevi!&lt;/p&gt;&lt;p&gt;Vi aspettiamo quindi tra meno di una settimana in quel di Peschiera, sono convinto che saranno per tutti due giorni intensi e fantastici!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=9064" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Spatial+Data+Type/default.aspx">Spatial Data Type</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Conference+2012/default.aspx">SQL Conference 2012</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Reporting+Services/default.aspx">Reporting Services</category></item><item><title>Welcome SQL Server 2012</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/03/07/welcome-sql-server-2012.aspx</link><pubDate>Wed, 07 Mar 2012 07:16:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8996</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8996</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/03/07/welcome-sql-server-2012.aspx#comments</comments><description>&lt;p&gt;Mi accodo a &lt;a href="http://community.ugiss.org/blogs/dmauri/archive/2012/03/06/sql-server-2012-rtm.aspx"&gt;Davide&lt;/a&gt; e &lt;a href="http://community.ugiss.org/blogs/abenedetti/archive/2012/03/07/sql-server-2012-links.aspx"&gt;Andrea&lt;/a&gt; nell&amp;#39;annunciare che è finalmente disponibile la RTM di SQL Server 2012, come si può evincere da &lt;a href="http://blogs.technet.com/b/dataplatforminsider/archive/2012/03/06/sql-server-2012-released-to-manufacturing.aspx"&gt;questo&lt;/a&gt; post sul blog ufficiale.&lt;/p&gt;&lt;p&gt;E&amp;#39; già possibile&amp;nbsp;scaricare una Evaluation valida per 6 mesi. Per scaricarla andate &lt;a href="http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx"&gt;qui&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;La release per il grande pubblico è fissata invece per il primo aprile (...evito battute scontate... :D).&lt;/p&gt;&lt;p&gt;Ricordo inoltre che oggi 7 marzo va in onda il Virtual Launch, con una ricca agenda di sessioni da non perdere. Per assistere&amp;nbsp;occorre&amp;nbsp;semplicemente&amp;nbsp;registrarsi a &lt;a href="http://www.sqlserverlaunch.com/ww/Home"&gt;questo indirizzo&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Buona visione!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8996" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/RTM/default.aspx">RTM</category></item><item><title>ISNULL strikes back!</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/02/02/isnull-strikes-back.aspx</link><pubDate>Thu, 02 Feb 2012 08:14:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8859</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8859</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/02/02/isnull-strikes-back.aspx#comments</comments><description>&lt;p&gt;String.Format(&amp;quot;A quanto pare non sono l&amp;#39;unico {0} ad essere incappato nel problema...&amp;quot;, insultoACaso);&amp;nbsp;&lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.sqlservercentral.com/articles/T-SQL/76861/"&gt;http://www.sqlservercentral.com/articles/T-SQL/76861/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8859" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/TSQL/default.aspx">TSQL</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/COALESCE/default.aspx">COALESCE</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/ISNULL/default.aspx">ISNULL</category></item><item><title>Passing XML-based parameters lists</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/01/26/passing-xml-based-parameters-lists.aspx</link><pubDate>Thu, 26 Jan 2012 08:07:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8845</guid><dc:creator>fmilano</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8845</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/01/26/passing-xml-based-parameters-lists.aspx#comments</comments><description>&lt;p&gt;A volte (si spera &lt;u&gt;poche&lt;/u&gt;&lt;em&gt; &lt;/em&gt;volte) capita di dover passare da applicativo liste di parametri a stored procedures o function.&lt;/p&gt;&lt;p&gt;SQL Server 2008 ha fornito una possibile soluzione&amp;nbsp;introducendo i &lt;a href="http://msdn.microsoft.com/en-us/library/bb675163.aspx"&gt;Table valued parameters&lt;/a&gt;&amp;nbsp;che, seppur a mio avviso un po&amp;#39; macchinosi, sono una valida alternativa &amp;quot;strutturata&amp;quot;&amp;nbsp;alla sempre ottima split di &lt;a href="http://www.sqlservercentral.com/articles/Tally+Table/72993/"&gt;Jeff Moden&lt;/a&gt;&amp;nbsp;(un&amp;#39;esperienza di vita più che un articolo &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt; consiglio la lettura).&lt;/p&gt;&lt;p&gt;Mi ero chiesto, tempo fa, se i campi XML potevano rappresentare un&amp;#39;altra strada percorribile, ma&amp;nbsp;da più parti avevo letto pareri negativi riguardo alle performance.&lt;/p&gt;&lt;p&gt;Phil Factor ha pubblicato su simple-talk&amp;nbsp;&lt;a href="http://www.simple-talk.com/community/blogs/philfactor/archive/2012/01/05/105167.aspx"&gt;un articolo&lt;/a&gt;&amp;nbsp;che affronta questa possibilità, fornendo una soluzione, tratta da un libro di Bob Beauchamin, che si basa sull&amp;#39;utilizzo degli &lt;strong&gt;attributi &lt;/strong&gt;dei nodi XML per salvare i valori degli elementi della lista, invece che utilizzarne i &lt;strong&gt;valori&lt;/strong&gt;. I risultati sono sorprendenti, e le performance sono paragonabili alla soluzione di Jeff Moden.&lt;/p&gt;&lt;p&gt;Direi che non ci si può lamentare, c&amp;#39;è solo l&amp;#39;imbarazzo della scelta! &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8845" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/XML/default.aspx">XML</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/ADO.NET/default.aspx">ADO.NET</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/parameters/default.aspx">parameters</category></item><item><title>SQL Server 2008R2: Server Audit vs SQL Trace performance</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/01/25/sql-server-2008r2-server-audit-vs-sql-trace-performance.aspx</link><pubDate>Wed, 25 Jan 2012 21:45:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8841</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8841</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/01/25/sql-server-2008r2-server-audit-vs-sql-trace-performance.aspx#comments</comments><description>&lt;p&gt;Una delle domande che mi&amp;nbsp;è stata posta al workshop Road to Denali di gennaio riguardava l&amp;#39;impatto delle funzionalità di audit&amp;nbsp;sulle performance.&lt;/p&gt;&lt;p&gt;Linchi Shea ha postato su SqlBlog i risultati di un&amp;#39;interessante comparazione tra Audit e SQL Trace, ecco il link:&lt;/p&gt;&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/linchi_shea/archive/2012/01/24/performance-impact-sql2008-r2-audit-and-trace.aspx"&gt;http://sqlblog.com/blogs/linchi_shea/archive/2012/01/24/performance-impact-sql2008-r2-audit-and-trace.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Buona lettura!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8841" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2008R2/default.aspx">SQL Server 2008R2</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Trace/default.aspx">Trace</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Audit/default.aspx">Audit</category></item><item><title>SQL Conference 2012: iscrizioni aperte!</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/01/21/sql-conference-2012-iscrizioni-aperte.aspx</link><pubDate>Sat, 21 Jan 2012 09:38:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8816</guid><dc:creator>fmilano</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8816</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/01/21/sql-conference-2012-iscrizioni-aperte.aspx#comments</comments><description>&lt;p&gt;Torna&amp;nbsp;uno degli appuntamenti più importanti in Italia per chi gravita nell&amp;#39;universo SQL Server!&lt;/p&gt;&lt;p&gt;Puntate orologi a cucù&amp;nbsp;e sveglie per il 28-29 marzo, e i navigatori verso il Microsoft Innovation Campus di Milano. Quello di quest&amp;#39;anno&amp;nbsp;sarà un&amp;#39;evento molto particolare, in quanto nei primi mesi&amp;nbsp;del 2012&amp;nbsp;sarà rilasciata la nuova versione di SQL Server. Inutile dire che SQL Server 2012 sarà il protagonista della conference di quest&amp;#39;anno, e si avrà modo di approfondire tutte le novità che porterà con sé e di cui UGISS sta proponendo un assaggio nei workshop &lt;a href="http://www.ugiss.org/ReadArticle.aspx?aid=886"&gt;Road To Denali&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Amministrazione, sviluppo, business intelligence sono solo alcuni degli argomenti che verranno trattati nella ricca serie di sessioni dedicate al mondo del RDBMS più amato dagli italiani (semi cit.). Collaterali alle due track parallele, infatti, sono state pensate tutta una serie di attività quali lab, mini-sessioni, focus group, e altri formati che verranno definiti nel prossimo mese. Da non dimenticare, poi, la SQL Clinic:&amp;nbsp;gli specialisti italiani 							del Microsoft Customer Service and Support (CSS) saranno a vostra disposizione per rimettere in sesto il vostro DB!&lt;/p&gt;&lt;p&gt;Per quanto mi riguarda, sembra passato un secolo dal maggio scorso: guardavo l&amp;#39;agenda della SQL Conference 2011, che avevo saltato,&amp;nbsp;e mi ripromettevo che non avrei perso anche l&amp;#39;appuntamento del 2012. Mai e poi mai, però, avrei pensato che sarei stato nella line-up degli speaker (in effetti non avendo mai relazionato in pubblico fino a quel momento come avrei potuto pensarlo...come si dice, mai dire mai! &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;). Voglio quindi ringraziare (nuovamente) gli organizzatori della conference per avermi dato questa opportunità, esserci è davvero un onore.&lt;/p&gt;&lt;p&gt;BTW, terrò la sessione &lt;a href="http://www.sqlconference.it/events/2012/sessions.aspx#s69"&gt;GeoSpatial Solutions with SQL Server 2012&lt;/a&gt; in cui mostrerò, dopo un breve &amp;quot;recap&amp;quot;, le novità introdotte nell&amp;#39;ambito dei data type geospaziali. Centra anche la metropolitana milanese, ma questa è un&amp;#39;altra storia &lt;img src="http://community.ugiss.org/emoticons/emotion-4.gif" alt="Stick out tongue" /&gt;&lt;/p&gt;&lt;p&gt;Non mi resta che indicare il link al &lt;a href="http://www.sqlconference.it/events/2012/default.aspx"&gt;sito ufficiale della conference&lt;/a&gt;&amp;nbsp;e ricordare che i posti sono limitati. Affettatevi!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8816" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Conference/default.aspx">SQL Conference</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Spatial+Data+Type/default.aspx">Spatial Data Type</category></item><item><title>ISNULL reminder</title><link>http://community.ugiss.org/blogs/fmilano/archive/2012/01/04/isnull-reminder.aspx</link><pubDate>Wed, 04 Jan 2012 15:22:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8780</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8780</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2012/01/04/isnull-reminder.aspx#comments</comments><description>&lt;p&gt;Per quanto sia un assiduo frequentatore dei BOL, a volte mi capita di dimenticare alcuni dettagli. Altre volte, ed è anche peggio, mi capita di ricordare i dettagli ma&amp;nbsp;di sottovalutarne alcune implicazioni.&lt;/p&gt;

&lt;p&gt;Un caso emblematico è capitato proprio oggi, e riguarda l&amp;#39;uso della funzione ISNULL di SQL Server. &lt;/p&gt;

&lt;p&gt;Prima di tutto, la sintassi:&lt;/p&gt;
&lt;h5&gt;ISNULL ( check_expression , replacement_value )&lt;/h5&gt;
&lt;p&gt;Ricordo che la funzione ISNULL, rispetto alla COALESCE, ha un valore di output il cui tipo è determinato ed è quello di &lt;em&gt;check_expression&lt;/em&gt;. Questo significa che &lt;em&gt;replacement_value &lt;/em&gt;deve essere dello stesso tipo &lt;em&gt;check_expression&lt;/em&gt;, o quantomeno implicitamente convertibile in esso, in quanto&amp;nbsp;se &lt;em&gt;check_expression&amp;nbsp;&lt;/em&gt;è NULL viene restitutito &lt;em&gt;replacement_value, &lt;/em&gt;opportunamente convertito se necessario.&amp;nbsp;Fin qua tutto ok.&lt;/p&gt;

&lt;p&gt;Non avevo però mai considerato il seguente caso:&lt;/p&gt;

&lt;h5&gt;DECLARE @val1 nvarchar(4) = NULL;&lt;br /&gt;&lt;br /&gt;
SELECT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ISNULL(@val1, N&amp;#39;ciao a tutti&amp;#39;) AS [ISNULL],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;COALESCE(@val1, N&amp;#39;ciao a tutti&amp;#39;) AS [COALESCE];&lt;/h5&gt;

&lt;p&gt;Eseguendo questa semplice query, il risultato è il seguente:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/ISNULL.jpg"&gt;&lt;img border="0" src="http://community.ugiss.org/blogs/fmilano/ISNULL.jpg" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Ora, a parte l&amp;#39;esempio molto banale e dal risultato (facilmente) prevedibile alla luce di quanto scritto nei BOL,&amp;nbsp;può capitare che&amp;nbsp;il primo&amp;nbsp;parametro della ISNULL - &lt;em&gt;check_expression&amp;nbsp;-&lt;/em&gt;&amp;nbsp;sia un&amp;#39;espressione di cui non è immediato&amp;nbsp;vedere a colpo d&amp;#39;occhio&amp;nbsp;il tipo restituito, oppure che nella fretta di alcune modifiche possa sfuggire il fatto che &lt;em&gt;check_expression&lt;/em&gt; abbia un tipo più piccolo di&amp;nbsp;&lt;em&gt;replacement_value &lt;/em&gt;(come è successo a me)&lt;em&gt;, &lt;/em&gt;causando quindi&amp;nbsp;un display errato&amp;nbsp;dei dati (o, peggio, una perdita di dati).&lt;/p&gt;

&lt;p&gt;Beh, #dorainpoimeloricordero &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;
&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8780" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/TSQL/default.aspx">TSQL</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/COALESCE/default.aspx">COALESCE</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/ISNULL/default.aspx">ISNULL</category></item><item><title>La prima (e la seconda) volta</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/11/23/la-prima-e-la-seconda-volta.aspx</link><pubDate>Wed, 23 Nov 2011 10:10:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8699</guid><dc:creator>fmilano</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8699</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/11/23/la-prima-e-la-seconda-volta.aspx#comments</comments><description>&lt;p&gt;Di ritorno dalla prima (doppia) tappa&amp;nbsp;del Road to Denali, che per me è anche coincisa con le prime due volte da speaker.&lt;/p&gt;&lt;p&gt;Che dire...esperienza indimenticabile da tutti i punti di vista &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;p&gt;Dal mio punto di vista un po&amp;#39; (troppo) titubante la presentazione di Milano, un po&amp;#39; (meno) titubante quella di Roma, ma d&amp;#39;altra parte non si nasce imparati e sono esperienze che servono per farsi le ossa. Oltretutto salire per la prima volta su un palco subito dopo interventi di Davide Mauri e Gianluca Hotz, che&amp;nbsp;ormai vanno talmente fluidi nell&amp;#39;esposizione che non li abbatti neanche a cannonate, devo ammettere che mi lasciava un po&amp;#39; nervosetto...a saperlo prima avrei portato un po&amp;#39; di abbacchio con patate al forno, magari almeno Gianluca&amp;nbsp;sarebbe stato&amp;nbsp;un po&amp;#39; meno&amp;nbsp;brillante! &lt;img src="http://community.ugiss.org/emoticons/emotion-5.gif" alt="Wink" /&gt;&lt;/p&gt;&lt;p&gt;Dal punto di vista delle sessioni direi tutto molto interessante, spero lo sia stato anche per il pubblico presente (che colgo l&amp;#39;occasione per ringraziare). Il tempo disponibile era quello che era, ma&amp;nbsp;direi che le varie funzionalità oggetto del workshop sono state spulciate per benino, anche con qualche excursus a più ampio raggio come l&amp;#39;interessante &amp;quot;storia dell&amp;#39;exception&amp;quot;&amp;nbsp;portata da&amp;nbsp;Gianluca.&lt;/p&gt;&lt;p&gt;Mi ha fatto piacere incontrare di persona Davide, Gianluca, Danilo (Lissoni)&amp;nbsp;&amp;amp; Danilo (Dominici), con i quali ho potuto passare un po&amp;#39; di tempo e devo dire tutti &amp;quot;uomini community&amp;quot; per definizione, e persone molto disponibili.&lt;/p&gt;&lt;p&gt;Un saluto anche a &lt;a href="http://community.ugiss.org/blogs/lucazav"&gt;Luca&lt;/a&gt;&amp;nbsp;che &amp;quot;si è fatto riconoscere&amp;quot; &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;&lt;p&gt;Bene, penso di aver detto tutto...ah no, un&amp;#39;ultima cosa: ho apprezzato in particolare come la diatriba (penso storica) tra Davide e Gianluca su chi fosse andato lungo con i tempi si sia risolta con un politico &amp;quot;colpa dei coffee break&amp;quot;, questa è alta strategia di marketing! ... Scherzo, ovviamente &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;&lt;p&gt;Alla prossima tappa!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8699" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Road+to+Denali/default.aspx">Road to Denali</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Workshop/default.aspx">Workshop</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category></item><item><title>SSIS, Text Qualifier e _x0022_</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/11/08/ssis-text-qualifier-e-x0022.aspx</link><pubDate>Tue, 08 Nov 2011 09:38:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8671</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8671</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/11/08/ssis-text-qualifier-e-x0022.aspx#comments</comments><description>&lt;p&gt;L&amp;#39;altro giorno ho dovuto fare un update ad un pacchetto SSIS che esporta alcuni dati su una Flat File Destination. Compilo, deploy sul server di test, testo, tutto ok. Pubblico in produzione, faccio i test, controllo il CSV e noto con piacere che tutti i doppi apici usati come text qualifier sono diventati il carattere _X0022_, che è stata anche la mia esclamazione quando ho visto quello che era successo (censurata, ovviamente).&lt;/p&gt;&lt;p&gt;Dopo un paio di ricerche nella biblioteca della mia città (no, ok, ho usato Google) sono capitato su &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2010/11/25/sql-server-2008-sp1-cu-6-includes-small-changes-to-dtsx-files.aspx"&gt;questo post&lt;/a&gt; di Jamie Thomson che ha svelato l&amp;#39;arcano: la versione di SQL Server&amp;nbsp;in produzione era in effetti un po&amp;#39; in carenza di affetto e di aggiornamenti, mentre quella che usavo io in sviluppo e test era aggiornata. Purtroppo non ho accesso diretto agli update di quel server, quindi quando pubblico qualcosa devo sempre stare attento alle discrepanze di versione, oltre che sollecitare eventuali aggiornamenti rimasti indietro per evitare appunto stranezze come questa (in effetti ricordo che tempo fa il sistemista mi disse che avrebbe aggiornato quella macchina subito dopo il mio aggiornamento del server di test, ma evidentemente non è andata così).&lt;/p&gt;&lt;p&gt;In ogni caso, altra lezione ripassata: verificare sempre l&amp;#39;allineamento delle versioni di sviluppo/test/produzione!&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8671" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/flat+file/default.aspx">flat file</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SSIS/default.aspx">SSIS</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/_5F00_x0022_5F00_/default.aspx">_x0022_</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/text+qualifier/default.aspx">text qualifier</category></item><item><title>Eventi community Road to Denali</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/10/17/eventi-community-road-to-denali.aspx</link><pubDate>Mon, 17 Oct 2011 20:44:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8605</guid><dc:creator>fmilano</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8605</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/10/17/eventi-community-road-to-denali.aspx#comments</comments><description>&lt;p&gt;Manca ormai poco più di un mese all&amp;#39;inizio della serie di eventi gratuiti &amp;quot;Road to Denali&amp;quot;, un&amp;#39;occasione ghiottissima per spulciare in 6 differenti workshops di mezza giornata ciascuno, replicati sia a Milano che a Roma per un totale di 12 incontri,&amp;nbsp;le novità che l&amp;#39;uscita di SQL Server Denali porterà con sè.&lt;/p&gt;
&lt;p&gt;SQL Server Denali (ormai dopo il PASS 2011&amp;nbsp;ufficializzato in SQL Server 2012...ma il titolo &amp;quot;Road to 2012&amp;quot;&amp;nbsp;non si potrebbe sentire &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;)&amp;nbsp;introduce importantissime novità in tutti i settori, dall&amp;#39;estensione del linguaggio TSQL ai rinnovati tools di management e sviluppo, dalle nuove funzionalità&amp;nbsp;per amministrazione ed availability alle migliorie nel campo della Business Intelligence.&lt;br /&gt;Citando il buon &lt;a href="http://community.ugiss.org/blogs/dmauri/default.aspx"&gt;Davide&lt;/a&gt;:&amp;nbsp;&amp;quot;&lt;strong&gt;Le novità introdotte&lt;/strong&gt;, a tutti i livelli, dall’amministrazione alla Business Intelligence,&lt;strong&gt; sono cosi tante e cosi importanti da rendere questa versione di SQL Server una vera e propria pietra miliarie&lt;/strong&gt;, cosi come accadde per SQL Server 2005&amp;quot;.&lt;/p&gt;
&lt;p&gt;UGISS vi accompagnerà passo passo alla scoperta del (quasi) nuovo nato in casa Microsoft attraverso i mesi che ci separano dalla sua uscita. Il calendario completo dei workshops, oltre ai link per registrarsi ai primi due eventi,&amp;nbsp;lo trovate &lt;a href="http://www.ugiss.org/Content/Article/SQL-Server-Road-To-Denali-Workshops.aspx"&gt;qui&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Io avrò il piacere (e l&amp;#39;onore) di dividere il palco della data del 21 novembre a&amp;nbsp;Milano con &lt;a href="http://community.ugiss.org/blogs/dmauri/default.aspx"&gt;Davide&lt;/a&gt; e &lt;a href="http://it.linkedin.com/in/ghotz"&gt;Gianluca&lt;/a&gt;,&amp;nbsp;due &amp;quot;mostri sacri&amp;quot; del campo. Un grazie quindi a Davide per la fiducia accordatami &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;, essendo questo il mio primo speaking cercherò di fare del mio meglio. Eventualmente, se le cose dovessero mettersi male, terrò pronte dietro la porta un paio di danzatrici del ventre come backup &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8605" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Eventi/default.aspx">Eventi</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Road+to+Denali/default.aspx">Road to Denali</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Workshop/default.aspx">Workshop</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+2012/default.aspx">SQL Server 2012</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Server+Denali/default.aspx">SQL Server Denali</category></item><item><title>RedGate SQL Search e il limite dei 150 risultati</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/09/30/redgate-sql-search-e-il-limite-dei-150-risultati.aspx</link><pubDate>Fri, 30 Sep 2011 08:35:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8533</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8533</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/09/30/redgate-sql-search-e-il-limite-dei-150-risultati.aspx#comments</comments><description>&lt;p&gt;Come penso molti di voi sono un assiduo utilizzatore dei tool di RedGate, e tra gli altri ho installato anche SQL Search.&lt;/p&gt;&lt;p&gt;Ho scoperto oggi, in una ricerca su oltre 3000&amp;nbsp;stored procedures,&amp;nbsp;che il limite di risultati di SQL Search è fissato a 150. Da una rapida ricerca sul forum di RedGate quella di non mettere opzioni configurabili appare proprio come scelta di design, come da risposta di uno degli sviluppatori.&lt;/p&gt;&lt;p&gt;Non è effettivamente un grosso problema se non che, da come è scritto sulla maschera, non è evidentissimo che il limite sia questo (viene infatti specificato semplicemente: &amp;quot;150 results&amp;quot;) e inizialmente sono stato tratto in inganno.&amp;nbsp;Ho perso una decina di minuti cercando di capire come mai un risultato atteso non mi comparisse tra quelli elencati, salvo poi essere insospettito dal numero di risultati &amp;quot;tondi&amp;quot; di SQL Search. E&amp;nbsp;i numeri tondi, si sa,&amp;nbsp;sono un cattivo presagio &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/p&gt;&lt;p&gt;Onestamente&amp;nbsp;non ho trovato un punto chiaro dove questo limite sia scritto, quindi magari non sono (ero) l&amp;#39;unico a non esserne a conoscenza. Sappiatelo &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8533" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SSMS/default.aspx">SSMS</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SQL+Search/default.aspx">SQL Search</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/RedGate/default.aspx">RedGate</category></item><item><title>SSMS, smettila di indicizzare! è maleducazione!</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/08/30/ssms-smettila-di-indicizzare-232-maleducazione.aspx</link><pubDate>Tue, 30 Aug 2011 20:29:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8450</guid><dc:creator>fmilano</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8450</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/08/30/ssms-smettila-di-indicizzare-232-maleducazione.aspx#comments</comments><description>&lt;p&gt;A mio avviso una delle feature migliori introdotte con SQL Server 2005 sono state le Indexed Views.&lt;/p&gt;&lt;p&gt;Se usate correttamente (e con parsimonia) possono portare grandi benefici alle query, abbassando notevolmente i tempi di esecuzione e l&amp;#39;impatto su disco e CPU.&lt;/p&gt;&lt;p&gt;Nel caso vi capiti di usarle è però bene ricordarsi una cosa, se state utilizzando SSMS 2005/2008/2008R2: se anche portate a &lt;i&gt;true&lt;/i&gt; l&amp;#39;opzione &amp;quot;Script indexes&amp;quot; in Tools -&amp;gt; Options -&amp;gt; SQL Server Object Explorer -&amp;gt; Scripting&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/SSMS_indexedViews._01.JPG"&gt;&lt;img src="http://community.ugiss.org/blogs/fmilano/SSMS_indexedViews._01.JPG" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;e successivamente, da object explorer, lanciate il comando da menu contestuale ALTER (o anche CREATE, o DROP and CREATE, è indifferente) sulla vista indicizzata da modificare quello che otterrete è esclusivamente il corpo della vista, &lt;b&gt;ma non i suoi indici&lt;/b&gt;. E&amp;#39; bene notare che nel caso si faccia la stessa cosa con una tabella gli indici saranno correttamente presenti.&lt;/p&gt;&lt;p&gt;Ovviamente, nel caso di un ALTER fatto velocemente e distrattamente vengono distrutti in un colpo solo tutti gli indici della vista &lt;i&gt;senza alcun avviso o messaggio d&amp;#39;errore&lt;/i&gt;, in quanto il comando ALTER VIEW per prima cosa elimina gli eventuali indici presenti e successivamente aggiorna il text della vista.&lt;/p&gt;&lt;p&gt;L&amp;#39;alternativa in questo caso è utilizzare la task &amp;quot;Generate scripts&amp;quot; dal menu contestuale del database che contiene la vista&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/SSMS_indexedViews._02.JPG"&gt;&lt;img src="http://community.ugiss.org/blogs/fmilano/SSMS_indexedViews._02.JPG" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; e selezionarla per la generazione script. Lo script così generato conterrà anche gli indici, e si potra tranquillamente utilizzare quello per le modifiche da effettuare.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;La mamma lo dice sempre che&lt;span style="font-style:italic;"&gt; indicizzare&lt;/span&gt; è maleducazione, ma SSMS mi sembra un po&amp;#39; troppo un bravo bambino, a volte &lt;img src="http://community.ugiss.org/emoticons/emotion-2.gif" alt="Big Smile" /&gt; &lt;/p&gt;&lt;p&gt;Nota: SSMS incluso nella CTP3 di Denali non presenta più questo problema, bene!&lt;br /&gt;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8450" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SSMS/default.aspx">SSMS</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Scripting/default.aspx">Scripting</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/Indexed+Views/default.aspx">Indexed Views</category></item><item><title>SSMS e la leggenda del rinomina perduto</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/07/21/ssms-e-la-leggenda-del-rinomina-perduto.aspx</link><pubDate>Thu, 21 Jul 2011 21:48:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8371</guid><dc:creator>fmilano</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8371</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/07/21/ssms-e-la-leggenda-del-rinomina-perduto.aspx#comments</comments><description>&lt;p&gt;Ogni tanto mi stupisco dei titoli ignoranti che riesco a forgiare...&lt;/p&gt;

&lt;p&gt;In ogni caso, volevo solo ricordare con un breve appunto il rischio che si corre rinominando gli oggetti del db direttamente dall&amp;#39;object explorer di Management Studio.&lt;/p&gt;

&lt;p&gt;Supponiamo di avere la nostra stored procedure, award winning per fantasia, &lt;i&gt;dbo.stp_test&lt;/i&gt;.&lt;/p&gt;

&lt;p&gt;Per accedere alla sua definizione ci basta utilizzare, avendo i permessi di farlo, la funzione di sistema &lt;a href="http://msdn.microsoft.com/en-us/library/ms176090.aspx"&gt;OBJECT_DEFINITION&lt;/a&gt;:&lt;br /&gt;&lt;/p&gt;
&lt;h5&gt;SELECT OBJECT_DEFINITION(OBJECT_ID(&amp;#39;dbo.stp_test&amp;#39;)) AS ObjectDef&lt;/h5&gt;
&lt;p&gt;Altre due alternative per ottenere la definizione di un oggetto sono la SP &lt;a href="http://msdn.microsoft.com/it-it/library/ms176112.aspx"&gt;sp_helptext&lt;/a&gt; e la VIEW &lt;a href="http://msdn.microsoft.com/en-us/library/ms175081.aspx"&gt;sys.sql_modules&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Eseguendo la query otteniamo il seguente risultato, che è il testo dello script utilizzato per creare l&amp;#39;SP:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_01.JPG"&gt;
&lt;img src="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_01.JPG" alt="" border="0" /&gt;
&lt;/a&gt;&lt;/p&gt;
Ora, in un lampo di normalità, ci accorgiamo che il nome di questa stp non è del tutto chiaro e decidiamo di cambiarlo in qualcosa di più utile e comprensibile, ma per farlo utilizziamo direttamente l&amp;#39;object explorer di Management Studio:
&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_02.JPG"&gt;&lt;img src="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_02.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se ora rieseguiamo la query di poco fa, opportunamente modificata &lt;br /&gt;&lt;/p&gt;
&lt;h5&gt;SELECT OBJECT_DEFINITION(OBJECT_ID(&amp;#39;dbo.stp_testuggine&amp;#39;)) AS ObjectDef&lt;/h5&gt;
&lt;p&gt;otteniamo, con sommo gaudio, ancora il medesimo risultato di prima:&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;a href="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_01.JPG"&gt;&lt;img src="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_01.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;La definizione del nostro oggetto, se il suo nome viene modificato dal TreeView di SSMS, rimane immutata. Se dovessimo aver fatto un rename da interfaccia, tuttavia, basta andare in modifica della SP e rieseguirla anche senza effettuare alcun cambiamento in essa. L&amp;#39;operazione di &lt;i&gt;ALTER PROCEDURE&lt;/i&gt; fa sì che la definizione della nostra SP venga aggiornata correttamente.&lt;/p&gt;

&lt;p&gt;Per ovviare a questo incoveniente, dovendo rinominare, ad esempio, una SP come in questo caso, la scelta migliore sarebbe quella di eseguire un &lt;i&gt;DROP&lt;/i&gt; dell&amp;#39;oggetto seguito da un &lt;i&gt;CREATE&lt;/i&gt; dello stesso&lt;i&gt;, &lt;/i&gt;operazione che SSMS 2008 propone direttamente da menu contestuale (non ricordo in questo momento se anche il 2005 ha questa voce di menu - &lt;a href="http://jenga.wordpress.com/"&gt;Igor&lt;/a&gt; mi conferma che nel 2005 non era presente, grazie!):&lt;/p&gt;

&lt;p&gt;&lt;a href="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_03.JPG"&gt;&lt;img src="http://community.ugiss.org/blogs/fmilano/Posts/SSMS_rename_03.JPG" border="0" alt="" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Una nota, in chiusura. &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Nella maggior parte dei casi questo disallineamento non causa problemi, ed è del tutto trasparente all&amp;#39;operatività normale. Il nome dell&amp;#39;oggetto viene correttamente aggiornato, e l&amp;#39;esecuzione della SP, utilizzando il nome nuovo, riesce senza alcun tipo di problema. Alla prima modifica tutto si riallinea e non ci si accorge di nulla.&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Alcuni problemi, invece, possono insorgere in particolari casi in cui un qualche tipo di procedura accede direttamente a questa definizione. Un caso concreto che mi sono trovato davanti è stato quello di una nostra applicazione .NET che tramite una SP recuperava un&amp;#39;elenco delle definizioni degli oggetti, ne calcolava l&amp;#39;albero delle dipendenze (tramite la VIEW &lt;a href="http://msdn.microsoft.com/en-us/library/ms174402.aspx"&gt;sys.sql_dependencies&lt;/a&gt; - ormai obsoleta, sostituita da &lt;a href="http://msdn.microsoft.com/en-us/library/bb677315.aspx"&gt;sys.sql_expression_dependencies&lt;/a&gt;)&lt;i&gt; &lt;/i&gt;e creava uno script di pubblicazione. In SQL 2005 infatti, su DB con una grossa mole di oggetti, il tempo di generazione script era paurosamente elevato se paragonato a quello di SQL 2000, ed avevamo optato per una soluzione fatta in casa che in pochi secondi creasse tale script. Seppure fosse prassi il DROP&amp;amp;CREATE per rinominare gli oggetti ove necessario, un paio di SP erano state rinominate da Object Explorer e ovviamente, quando lo script le aveva ricreate sul DB di destinazione, i nomi delle due SP erano rimasti quelli vecchi e non quelli nuovi, creando un disallineamento ed un fastidioso bug. Scoperto il problema, avevamo provveduto, per ogni evenienza, a creare una SP di verifica che ci elencasse tutti gli oggetti il cui &lt;i&gt;name&lt;/i&gt; non fosse contenuto nella sua definition. Brutale e funzionale. &lt;/p&gt;&lt;p&gt;Per la cronaca: la procedura di pubblicazione è stata ormai sostituita da un più completo e funzionale SQL Compare di RedGate :D&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8371" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/OBJECT_5F00_DEFINITION/default.aspx">OBJECT_DEFINITION</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/SSMS/default.aspx">SSMS</category></item><item><title>Un utilizzo del CONTEXT_INFO</title><link>http://community.ugiss.org/blogs/fmilano/archive/2011/07/13/un-utilizzo-del-context-info.aspx</link><pubDate>Wed, 13 Jul 2011 06:56:00 GMT</pubDate><guid isPermaLink="false">696bf4df-f0eb-4942-9326-ff40615b13e5:8319</guid><dc:creator>fmilano</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://community.ugiss.org/blogs/fmilano/rsscomments.aspx?PostID=8319</wfw:commentRss><comments>http://community.ugiss.org/blogs/fmilano/archive/2011/07/13/un-utilizzo-del-context-info.aspx#comments</comments><description>&lt;p&gt;Ho pubblicato un articolo che descrive come abbiamo utilizzato il CONTEXT_INFO di SQL Server in un progetto che stiamo sviluppando. Lo trovate a &lt;a href="http://community.ugiss.org/blogs/fmilano/archive/2011/07/13/context-info-adventures.aspx"&gt;questo&lt;/a&gt; link.&lt;/p&gt;&lt;p&gt;Colgo l&amp;#39;occasione, essendo questo il mio primo articolo, per ringraziare &lt;a href="http://community.ugiss.org/blogs/dmauri/default.aspx"&gt;Davide&lt;/a&gt; e &lt;a href="http://community.ugiss.org/blogs/sgovoni/default.aspx"&gt;Sergio&lt;/a&gt; per il caloroso benvenuto, e più in generale tutta la community di UgiSS per il contributo costante al mondo IT. &lt;img src="http://community.ugiss.org/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://community.ugiss.org/aggbug.aspx?PostID=8319" width="1" height="1"&gt;</description><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/CONTEXT_5F00_INFO/default.aspx">CONTEXT_INFO</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/TSQL/default.aspx">TSQL</category><category domain="http://community.ugiss.org/blogs/fmilano/archive/tags/.NET/default.aspx">.NET</category></item></channel></rss>