<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/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>Sql Server Blog di Francesco Diaz : T-SQL</title><link>http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx</link><description>Tags: T-SQL</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Recuperare la definizione di un oggetto di sistema</title><link>http://blogs.technet.com/francesco_diaz/archive/2009/08/05/recuperare-la-definizione-di-un-oggetto-di-sistema.aspx</link><pubDate>Wed, 05 Aug 2009 16:44:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3270854</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3270854.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3270854</wfw:commentRss><description>&lt;p&gt;Ci sono diversi metodi per farlo, come utilizzare la stored procedure &lt;a href="http://msdn.microsoft.com/en-us/library/ms176112.aspx" target="_blank"&gt;sp_helptext&lt;/a&gt;, fare una query sulla vista &lt;a href="http://msdn.microsoft.com/en-us/library/ms188034.aspx" target="_blank"&gt;sys.system_sql_modules&lt;/a&gt; o una chiamata alla funzione &lt;a href="http://msdn.microsoft.com/en-us/library/ms176090.aspx" target="_blank"&gt;object_definition&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Di seguito un esempio con &lt;a href="http://msdn.microsoft.com/en-us/library/ms187406.aspx" target="_blank"&gt;sys.tables&lt;/a&gt; :&lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;-- SP_HELPTEXT&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#800000"&gt;sp_helptext&lt;/font&gt; &lt;font color="#ff0000"&gt;'sys.tables'&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;-- OBJECT_DEFINITION&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt; &lt;font color="#800080"&gt;OBJECT_DEFINITION&lt;/font&gt; (&lt;font color="#800080"&gt;object_id&lt;/font&gt;(&lt;font color="#ff0000"&gt;'sys.tables'&lt;/font&gt;)) &lt;/p&gt;  &lt;p&gt;&lt;font color="#008000"&gt;-- SYS.SYSTEM_SQL_MODULES (recupero &lt;strong&gt;schema_id&lt;/strong&gt; e &lt;strong&gt;object_id&lt;/strong&gt; dell’oggetto)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt; &lt;font color="#800080"&gt;schema_id&lt;/font&gt; &lt;font color="#0000ff"&gt;FROM&lt;/font&gt; &lt;font color="#008000"&gt;sys.schemas&lt;/font&gt; &lt;font color="#0000ff"&gt;WHERE&lt;/font&gt; name = &lt;font color="#ff0000"&gt;'sys'      &lt;br /&gt;&lt;/font&gt;&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt; &lt;font color="#800080"&gt;object_id&lt;/font&gt; &lt;font color="#0000ff"&gt;FROM&lt;/font&gt; &lt;font color="#008000"&gt;sys.system_views&lt;/font&gt; &lt;font color="#0000ff"&gt;WHERE&lt;/font&gt; name =&lt;font color="#ff0000"&gt; 'tables'&lt;/font&gt; &lt;font color="#808080"&gt;AND&lt;/font&gt; &lt;font color="#800080"&gt;schema_id&lt;/font&gt; = 4     &lt;br /&gt;&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt; [definition] &lt;font color="#0000ff"&gt;FROM&lt;/font&gt; &lt;font color="#008000"&gt;sys.system_sql_modules&lt;/font&gt; &lt;font color="#0000ff"&gt;WHERE&lt;/font&gt; &lt;font color="#800080"&gt;object_id&lt;/font&gt; = -386&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3270854" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2005/default.aspx">Sql Server 2005</category></item><item><title>Trace flags</title><link>http://blogs.technet.com/francesco_diaz/archive/2009/04/08/trace-flags.aspx</link><pubDate>Wed, 08 Apr 2009 18:49:35 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3224057</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3224057.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3224057</wfw:commentRss><description>&lt;p&gt;Esistono due tipi di trace flags : &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;di sessione : validi solo per la sessione utente specifica&lt;/li&gt;    &lt;li&gt;globali : visibili per le tutte le connessioni aperte su quell’istanza&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;A questo &lt;a href="http://msdn.microsoft.com/en-us/library/ms188396.aspx" target="_blank"&gt;link&lt;/a&gt; è possibile trovare la lista dei trace flags disponibili per Sql Server 2008 con relativo scope&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3224057" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Tuning/default.aspx">Tuning</category></item><item><title>datetime2 e datetimeoffset</title><link>http://blogs.technet.com/francesco_diaz/archive/2009/04/06/datetime2-e-datetimeoffset.aspx</link><pubDate>Mon, 06 Apr 2009 19:35:56 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3223007</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3223007.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3223007</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb677335.aspx" target="_blank"&gt;datetime2&lt;/a&gt; può essere considerata come&amp;#160; una estensione del tipo &lt;a href="http://technet.microsoft.com/en-us/library/ms187819.aspx" target="_blank"&gt;datetime&lt;/a&gt; che consente un range di date più elevato (Da 1 gennaio 1 d.C. a 31 dicembre 9999 d.C) e una precisione frazionaria definibile dall’utente.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb630289.aspx" target="_blank"&gt;datetimeoffset&lt;/a&gt; può rappresentare data e ora tenendo anche conto del fuso orario con i seguenti range : &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Intervallo di date&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;da 0001-01-01 a 9999-12-31&lt;/p&gt;  &lt;p&gt;dal 1 gennaio 1 d.C. al 31 dicembre 9999 d.C.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Intervallo di ore&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;da 00:00:00 a 23:59:59.9999999&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Intervallo di differenze di fuso orario&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Da -14:00 a +14:00&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Potete trovare qualche esempio nel link seguente :&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/library/ms180878.aspx" href="http://technet.microsoft.com/en-us/library/ms180878.aspx"&gt;http://technet.microsoft.com/en-us/library/ms180878.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3223007" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category></item><item><title>Posso configurare il Database Mirroring con … - Parte 3</title><link>http://blogs.technet.com/francesco_diaz/archive/2009/03/06/posso-configurare-il-database-mirroring-con-parte-3.aspx</link><pubDate>Fri, 06 Mar 2009 19:13:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3210069</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3210069.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3210069</wfw:commentRss><description>&lt;P&gt;&lt;FONT color=#ff0000 size=4&gt;Le transazioni Cross-Database&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;NO. Perchè l’atomicità delle transazioni non può essere garantita in caso di failover. Questo vale sia per le transazioni tra diversi database sia per le transazioni distribuite che coinvolgono &lt;A href="http://msdn.microsoft.com/en-us/library/ms190799.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms190799.aspx"&gt;MSDTC&lt;/A&gt;. Trovate informazioni aggiuntive nei seguenti links.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Riferimenti : &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/ms366279.aspx href="http://msdn.microsoft.com/en-us/library/ms366279.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms366279.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms366279.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3210069" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Mirroring/default.aspx">Mirroring</category></item><item><title>Utilizzare la ROW compression in Sql Server 2008</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/11/26/utilizzare-la-row-compression-in-sql-server-2008.aspx</link><pubDate>Wed, 26 Nov 2008 12:50:20 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3159761</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3159761.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3159761</wfw:commentRss><description>&lt;p&gt;Le nuove funzionalità di compressione dei dati presenti su Sql Server 2008 introducono una serie di strumenti per il calcolo della compressione e per la compressione stessa. Queste operazioni, che in Sql Server 2005 erano limitate ai campi di tipo &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/bb508963(SQL.90).aspx"&gt;vardecimal&lt;/a&gt;, ora possono lavorare su diversi tipi di dati numerici. &lt;/p&gt; &lt;p&gt;Proviamo ad utilizzare la row compression per una tabella di AdventureWorks2008, per esempio la tabella SalesOrderDetail&lt;/p&gt; &lt;p&gt;La prima cosa molto utile è quella di calcolare lo spazio che potrebbe essere risparmiato grazie alla compressione. Per questo ci aiuta la stored procedure &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/cc280574.aspx"&gt;sp_estimate_data_compression_savings&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;USE&lt;/font&gt; AdventureWorks&lt;br&gt;&lt;font color="#0000ff"&gt;GO&lt;br&gt;EXEC&lt;/font&gt; sp_estimate_data_compression_savings '&lt;font color="#ff0000"&gt;Sales&lt;/font&gt;', '&lt;font color="#ff0000"&gt;SalesOrderDetail&lt;/font&gt;', 1, &lt;font color="#808080"&gt;null&lt;/font&gt;, '&lt;font color="#ff0000"&gt;ROW&lt;/font&gt;' &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/UtilizzarelaROWcompressioninSqlServer200_14E15/result_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="result" src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/UtilizzarelaROWcompressioninSqlServer200_14E15/result_thumb.jpg" width="649" height="101"&gt;&lt;/a&gt;  &lt;p&gt;Il risultato della stored procedure ci dice che potremmo risparmiare più di 2000 KB. Abilitiamo la ROW COMPRESSION e rilanciamo la stored procedure per verificare i risultati. &lt;p&gt;&lt;font color="#0000ff"&gt;ALTER TABLE&lt;/font&gt; [Sales].[SalesOrderDetail] &lt;font color="#0000ff"&gt;REBUILD&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;WITH&lt;/font&gt; (DATA_COMPRESSION = ROW)&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/UtilizzarelaROWcompressioninSqlServer200_14E15/result2_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="result2" src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/UtilizzarelaROWcompressioninSqlServer200_14E15/result2_thumb.jpg" width="648" height="96"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt; Ora i valori dei campi &lt;em&gt;size_with_current_compression_setting&lt;/em&gt; e &lt;em&gt;size_with_requested_compression_setting&lt;/em&gt; coincidono.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;NOTA &lt;/strong&gt;: Questa feature è presente sulle versioni Developer ed Enterprise Edition.&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Risorse aggiuntive&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx" href="http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx"&gt;http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/12/types-of-data-compression-in-sql-server-2008.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/cc280576.aspx" href="http://msdn.microsoft.com/en-us/library/cc280576.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc280576.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3159761" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Amministrazione/default.aspx">Amministrazione</category></item><item><title>REBUILD e REORGANIZE</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/11/11/rebuild-e-reorganize.aspx</link><pubDate>Tue, 11 Nov 2008 15:36:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3150996</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3150996.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3150996</wfw:commentRss><description>&lt;p&gt;La &lt;strong&gt;riorganizzazione&lt;/strong&gt; di un indice è da preferire quando l'indice non è molto frammentato. Aiuta a liberare spazio su disco compattando le pagine dell'indice ed eliminando quelle vuote in seguito alla compattazione. Viene eseguito in automatico IN LINEA e si occupa di deframmentare i livelli foglia sia degli indici &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms190639.aspx"&gt;CLUSTERED&lt;/a&gt; che degli indici &lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/ms177484.aspx"&gt;NONCLUSTERED&lt;/a&gt; .&lt;/p&gt; &lt;p&gt;La &lt;strong&gt;ricostruzione&lt;/strong&gt; di un indice cancella e ricrea l'indice ed in questo modo la frammentazione viene eliminata. E' da preferire quando l'indice è molto frammentato. La clausola WITH (ONLINE=ON) consente di effettuare da ricostruzione IN LINEA &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;NOTA&lt;/strong&gt;&lt;/font&gt; : la clausola ONLINE è presente solo su Sql Server Enterprise, Evalution, Developer.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Documentazione su technet :&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/library/ms189858.aspx" href="http://technet.microsoft.com/en-us/library/ms189858.aspx"&gt;http://technet.microsoft.com/en-us/library/ms189858.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Come fare per :&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p&gt;Riorganizzare -&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;USE&lt;/font&gt; AdventureWorks2008_new;&lt;br&gt;&lt;font color="#0000ff"&gt;GO&lt;/font&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;ALTER INDEX&lt;/font&gt; &lt;font color="#808080"&gt;ALL&lt;/font&gt; &lt;font color="#0000ff"&gt;ON&lt;/font&gt; Production.Product &lt;font color="#0000ff"&gt;REORGANIZE&lt;/font&gt;&lt;br&gt;&lt;/p&gt; &lt;p&gt;Ricostruire - &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;USE&lt;/font&gt; AdventureWorks2008_new;&lt;br&gt;&lt;font color="#0000ff"&gt;GO&lt;/font&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;ALTER INDEX&lt;/font&gt; &lt;font color="#808080"&gt;ALL&lt;/font&gt; &lt;font color="#0000ff"&gt;ON&lt;/font&gt; Production.Product &lt;font color="#0000ff"&gt;REBUILD WITH&lt;/font&gt; (&lt;font color="#0000ff"&gt;ONLINE&lt;/font&gt;&lt;font color="#808080"&gt;=&lt;/font&gt;&lt;font color="#0000ff"&gt;ON&lt;/font&gt;)&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Quando scegliere la riorganizzazione o la ricostruzione (valori indicativi) :&lt;/font&gt; &lt;/strong&gt;&lt;/p&gt; &lt;form id="aspnetForm" method="post" name="aspnetForm" action="http://technet.microsoft.com/ms189858.aspx"&gt; &lt;div id="contents"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;form id="aspnetForm" method="post" name="aspnetForm" action="http://technet.microsoft.com/ms189858.aspx"&gt; &lt;div id="contents"&gt; &lt;div style="width: 1303px; height: 265px" id="ctl00_rs1_ra1" class="resizableArea"&gt; &lt;div style="width: 1368px" id="ctl00_rs1_raRight" class="rightSection"&gt; &lt;div class="RightPanel"&gt; &lt;div class="ContentArea"&gt; &lt;div class="topic"&gt; &lt;div id="mainSection"&gt; &lt;div id="mainBody"&gt; &lt;div id="ctl00_rs1_mainContentContainer_cpe209650" class="MTPS_CollapsibleRegion"&gt; &lt;div style="width: auto; display: block; height: auto; overflow: visible" id="ctl00_rs1_mainContentContainer_cpe209650_c" class="MTPS_CollapsibleSection"&gt; &lt;div style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" class="MTPS_CollapsibleSection"&gt; &lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;th&gt;Valore di &lt;strong&gt;avg_fragmentation_in_percent&lt;/strong&gt; &lt;/th&gt; &lt;th&gt;Istruzione correttiva &lt;/th&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;&amp;gt; 5% e &amp;lt; = 30% &lt;/p&gt;&lt;/td&gt; &lt;td&gt; &lt;p&gt;ALTER INDEX REORGANIZE&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td&gt; &lt;p&gt;&amp;gt; 30%&lt;/p&gt;&lt;/td&gt; &lt;td&gt; &lt;p&gt;ALTER INDEX REBUILD WITH (ONLINE = ON)*&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/form&gt;&lt;/form&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3150996" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Amministrazione/default.aspx">Amministrazione</category></item><item><title>Auditing in Sql Server 2008</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/10/14/auditing-in-sql-server-2008.aspx</link><pubDate>Tue, 14 Oct 2008 15:43:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3136344</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3136344.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3136344</wfw:commentRss><description>&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;FONT color=#000000&gt;Le funzionalità di auditing di Sql Server 2008 permettono, in alcuni scenari, di ottenere con più semplicità informazioni sull'utilizzo del DB Engine rispetto a Sql Profiler, che comunque rimane ed è sempre valido. Di seguito trovate un semplice esempio su come tracciare le attività di selezione per un utente di test su una tabella. Gli statement sono commentati in modo da chiarire il perchè dei vari passaggi.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--creo un database di test&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;DATABASE&lt;/SPAN&gt; TestDatabase&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; [TestDatabase]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--creo una tabella di test&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;TABLE&lt;/SPAN&gt; [dbo]&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;[TestTable]&lt;SPAN style="COLOR: gray"&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[table_id] [int] &lt;SPAN style="COLOR: gray"&gt;NOT&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[field1] [varchar]&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;50&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[field2] [varchar]&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;50&lt;SPAN style="COLOR: gray"&gt;)&lt;/SPAN&gt; &lt;SPAN style="COLOR: gray"&gt;NULL,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;CONSTRAINT&lt;/SPAN&gt; [PK_TestTable] &lt;SPAN style="COLOR: blue"&gt;PRIMARY&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;KEY&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;CLUSTERED&lt;/SPAN&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[table_id] &lt;SPAN style="COLOR: blue"&gt;ASC&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;)&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;ON&lt;/SPAN&gt; [PRIMARY]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--inserisco dei dati di test&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;INTO&lt;/SPAN&gt; TestTable &lt;SPAN style="COLOR: blue"&gt;VALUES &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;1&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'paolino'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'paperino'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;INTO&lt;/SPAN&gt; TestTable &lt;SPAN style="COLOR: blue"&gt;VALUES &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;2&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'nonna'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'papera'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;INSERT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;INTO&lt;/SPAN&gt; TestTable &lt;SPAN style="COLOR: blue"&gt;VALUES &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;3&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'zio'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;'paperone'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--creo la login e l'utente TestUser3 per il quale voglio fare audit&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;master&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;LOGIN&lt;/SPAN&gt; [nomeserver\TestUser3] &lt;SPAN style="COLOR: blue"&gt;FROM&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;WINDOWS&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; TestDatabase&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: fuchsia"&gt;USER&lt;/SPAN&gt; [TestUser3] &lt;SPAN style="COLOR: blue"&gt;FROM&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;LOGIN&lt;/SPAN&gt; [nomeserver\TestUser3]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GRANT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;SELECT&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;ON&lt;/SPAN&gt; TestTable &lt;SPAN style="COLOR: blue"&gt;TO&lt;/SPAN&gt; [TestUser3]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;--creo il server audit&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;master&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;SERVER&lt;/SPAN&gt; AUDIT [TestServerAudit]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;TO&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;FILE&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;FILEPATH &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;N'C:\Audit\'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: green"&gt;--il file di log verrà salvato in questa cartella&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;MAXSIZE &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; 0 MB&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;WITH&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;(&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;QUEUE_DELAY &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; 1000&lt;SPAN style="COLOR: gray"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ON_FAILURE &lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;SHUTDOWN&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;--creo il database audit&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; TestDatabase&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;CREATE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;DATABASE&lt;/SPAN&gt; AUDIT SPECIFICATION [TestDatabaseAudit]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;FOR&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;SERVER&lt;/SPAN&gt; AUDIT [TestServerAudit]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;ALTER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;DATABASE&lt;/SPAN&gt; AUDIT SPECIFICATION [TestDatabaseAudit]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;ADD &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;(&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;SELECT&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;ON&lt;/SPAN&gt; dbo&lt;SPAN style="COLOR: gray"&gt;.&lt;/SPAN&gt;TestTable &lt;SPAN style="COLOR: blue"&gt;BY&lt;/SPAN&gt; TestUser3&lt;SPAN style="COLOR: gray"&gt;)&amp;nbsp; &lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;--voglio monitorare tutte le istruzioni select effettuate dall'utente TestUser3&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: gray; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;--abilito il server audit&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;USE&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;master&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;ALTER&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; &lt;SPAN style="COLOR: blue"&gt;SERVER&lt;/SPAN&gt; AUDIT [TestServerAudit]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;STATE&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;ON&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;GO&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;--abilito l'audit del database da Sql Server Management Studio&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;A href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/enable_audit_2.jpg" mce_href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/enable_audit_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=enable_audit src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/enable_audit_thumb.jpg" width=645 height=365 mce_src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/enable_audit_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--faccio una query sulla tabella TestTable con &lt;A target=_blank href="http://msdn.microsoft.com/it-it/library/ms170207.aspx" mce_href="http://msdn.microsoft.com/it-it/library/ms170207.aspx"&gt;SQLCMD&lt;/A&gt; per testare l'audit&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;A href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/SQLCMD_2.jpg" mce_href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/SQLCMD_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=SQLCMD src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/SQLCMD_thumb.jpg" width=690 height=344 mce_src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/SQLCMD_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--uso la funzione &lt;A target=_blank href="http://msdn.microsoft.com/en-us/library/cc280765.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc280765.aspx"&gt;fn_get_audit_file&lt;/A&gt; per vedere il report sull'audit&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt; mso-no-proof: yes; mso-ansi-language: en-us" lang=EN-US&gt; event_time&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;action_id&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;session_id&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;session_server_principal_name&lt;SPAN style="COLOR: gray"&gt;,&lt;/SPAN&gt;[statement] &lt;SPAN style="COLOR: blue"&gt;from&lt;/SPAN&gt; fn_get_audit_file&lt;SPAN style="COLOR: gray"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;'c:\audit\*'&lt;/SPAN&gt;&lt;SPAN style="COLOR: gray"&gt;,null,null)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;--il risultato della query contiene lo statement eseguito dall'utente (la parte evidenziata in giallo)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN-BOTTOM: 0pt; mso-layout-grid-align: none" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: green; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; COLOR: blue; FONT-SIZE: 10pt; mso-no-proof: yes"&gt;&lt;o:p&gt;&lt;A href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/printscreen3_2.jpg" mce_href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/printscreen3_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px" border=0 alt=printscreen3 src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/printscreen3_thumb.jpg" width=861 height=424 mce_src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/AuditingsuSqlServer2008_AEBD/printscreen3_thumb.jpg"&gt;&lt;/A&gt; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;STRONG&gt;Risorse aggiuntive : &lt;/STRONG&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;A title=http://technet.microsoft.com/en-us/library/cc280386.aspx href="http://technet.microsoft.com/en-us/library/cc280386.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc280386.aspx"&gt;http://technet.microsoft.com/en-us/library/cc280386.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="mso-ansi-language: en-us" lang=EN-US&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3136344" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Amministrazione/default.aspx">Amministrazione</category></item><item><title>Abilitare la backup compression per tutti i database dell'istanza</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/10/06/abilitare-la-backup-compression-per-tutti-i-database-dell-istanza.aspx</link><pubDate>Mon, 06 Oct 2008 19:38:47 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3132962</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3132962.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3132962</wfw:commentRss><description>&lt;p&gt;E' possibile, con Sql Server 2008 Enterprise Edition, abilitare la compressione dei backup per salvare spazio su disco o su nastro. Si può specificare la compressione sia per un singolo backup sia di default per tutti i backups che verranno effettuati.&lt;/p&gt; &lt;p&gt;Per abilitare la &lt;a target="_blank" href="http://technet.microsoft.com/en-us/library/bb964719.aspx"&gt;backup compression&lt;/a&gt; di default per tutti i database si può usare questo script : &lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;USE master&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;GO&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;EXEC&lt;/font&gt; &lt;font color="#804000"&gt;sp_configure&lt;/font&gt; &lt;font color="#ff0000"&gt;'backup compression default'&lt;/font&gt;, 1&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;RECONFIGURE WITH OVERRIDE&lt;/font&gt;;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3132962" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Amministrazione/default.aspx">Amministrazione</category></item><item><title>Monitorare il database mirroring con T-SQL</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/10/02/monitorare-il-database-mirroring-con-t-sql.aspx</link><pubDate>Thu, 02 Oct 2008 18:53:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3131438</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3131438.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3131438</wfw:commentRss><description>&lt;P&gt;Di seguito trovate alcune informazioni utili per usare T-SQL per monitorare Sql Server in database mirroring.&lt;/P&gt;
&lt;P&gt;E' possibile utilizzare la stored procedure &lt;A href="http://msdn.microsoft.com/en-us/library/ms366320.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms366320.aspx"&gt;sp_dbmmonitorresults&lt;/A&gt; (solo nel contesto dell'MSDB) per verificare lo storico delle informazioni riguardanti il Database Mirroring.&lt;/P&gt;
&lt;P&gt;Inoltre sono presenti 3 viste di sistema utili per : &lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/ms178655.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/ms178655.aspx"&gt;sys.database_mirroring&lt;/A&gt; - restituisce la lista dei database specificando informazioni aggiuntive per quelli in mirror&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/ms190278.aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/ms190278.aspx"&gt;sys.database_mirroring_endpoints&lt;/A&gt; - restituisce una riga con le informazioni relative all'endpoint per l'istanza&lt;/P&gt;
&lt;P&gt;&lt;A href="http://technet.microsoft.com/en-us/library/ms174391(SQL.90).aspx" target=_blank mce_href="http://technet.microsoft.com/en-us/library/ms174391(SQL.90).aspx"&gt;sys.database_mirroring_witnesses&lt;/A&gt; - contiene una riga per ogni ruolo di controllo che l'istanza svolge nelle partnership di mirroring&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3131438" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Mirroring/default.aspx">Mirroring</category></item><item><title>Come settare il numero massimo di connessioni simultanee su Sql Server 2008</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/09/05/come-settare-il-numero-massimo-di-connessioni-simultanee-su-sql-server-2008.aspx</link><pubDate>Fri, 05 Sep 2008 12:15:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3119718</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3119718.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3119718</wfw:commentRss><description>&lt;p&gt;Per settare il numero massimo di connessioni simultanee può essere utilizzata la stored procedure &lt;strong&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/it-it/library/ms188787.aspx"&gt;sp_configure&lt;/a&gt;. &lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Prima di tutto è necessario mostrare le opzioni avanzate. Per farlo digitare i seguenti comandi : &lt;/p&gt; &lt;p&gt;1) &lt;font color="#ff8080"&gt;sp_configure&lt;/font&gt; &lt;font color="#ff0000"&gt;'show advanced options'&lt;/font&gt;, 1&lt;/p&gt; &lt;p&gt;2) &lt;font color="#0000ff"&gt;GO&lt;/font&gt;&lt;/p&gt; &lt;p&gt;3) &lt;font color="#0000ff"&gt;RECONFIGURE&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Una volta effettuata questa operazione è possibile settare il numero massimo di connessioni (fino a 32767) nel seguente modo : &lt;/p&gt; &lt;p&gt;1) &lt;font color="#ff8080"&gt;sp_configure&lt;/font&gt; &lt;font color="#ff0000"&gt;'user connections'&lt;/font&gt;, &lt;em&gt;&amp;lt;numero tra 0 e 32767&amp;gt;&lt;/em&gt;&lt;/p&gt; &lt;p&gt;2) &lt;font color="#0000ff"&gt;GO&lt;/font&gt;&lt;/p&gt; &lt;p&gt;3) &lt;font color="#0000ff"&gt;RECONFIGURE&lt;/font&gt;&lt;/p&gt; &lt;p&gt;Riavviare il servizio MSSQLSERVER per rendere effettive le modifiche.&lt;/p&gt; &lt;p&gt;Risorse aggiuntive : &lt;/p&gt; &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms187882.aspx" href="http://msdn.microsoft.com/en-us/library/ms187882.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms187882.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a title="http://msdn.microsoft.com/en-us/library/ms187030.aspx" href="http://msdn.microsoft.com/en-us/library/ms187030.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms187030.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3119718" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Amministrazione/default.aspx">Amministrazione</category></item><item><title>Parametri "Table-Valued"</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/08/25/parametri-table-valued.aspx</link><pubDate>Mon, 25 Aug 2008 19:03:32 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3111574</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3111574.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3111574</wfw:commentRss><description>&lt;p&gt;Sono stati introdotti con Sql Server 2008 e permettono di inviare righe multiple ad una istruzione T-SQL o ad una routine senza creare una tabella temporanea.&lt;/p&gt; &lt;p&gt;I passaggi da eseguire : &lt;/p&gt; &lt;ol&gt; &lt;li&gt;La definizione del tipo di dato tabella e la definizione della struttura&lt;/li&gt; &lt;li&gt;La dichiarazione di una routine (es. una stored procedure) che accetta come parametro il tipo di dato definito nel passaggio precedente&lt;/li&gt; &lt;li&gt;La dichiarare di una variabile del tipo tabella definito al punto 1 e il caricamento dei dati tramite &lt;a href="http://msdn.microsoft.com/en-us/library/ms174335.aspx" target="_blank"&gt;INSERT&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Passaggio della variabile alla routine ed esecuzione della routine&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;Lo scope della variabile è lo stesso delle variabili dichiarate tramite l'istruzione &lt;a href="http://msdn.microsoft.com/en-us/library/ms188927.aspx" target="_blank"&gt;DECLARE&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Risorse aggiuntive : &lt;/p&gt; &lt;p&gt;MSDN : &lt;a title="http://msdn.microsoft.com/en-us/library/bb510489.aspx" href="http://msdn.microsoft.com/en-us/library/bb510489.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb510489.aspx&lt;/a&gt; . Contiene un semplice esempio ed una parte che spiega quando preferire i Table-Valued Parameters all'istruzione &lt;a href="http://msdn.microsoft.com/en-us/library/ms188365.aspx" target="_blank"&gt;BULK INSERT&lt;/a&gt; .&lt;/p&gt; &lt;p&gt;Virtual Lab : &lt;a title="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032370900&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032370900&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032370900&amp;amp;EventCategory=3&amp;amp;culture=en-US&amp;amp;CountryCode=US&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3111574" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category></item><item><title>Service Broker - primi passi</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/06/20/service-broker-primi-passi.aspx</link><pubDate>Fri, 20 Jun 2008 13:12:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3074940</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3074940.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3074940</wfw:commentRss><description>&lt;P&gt;Service Broker è una tecnologia che è stata introdotta con Sql Server 2005. E'&amp;nbsp; un sistema di comunicazione basato sui messaggi integrato nell'engine di Sql Server. L'amministrazione può essere fatta direttamente tramite gli strumenti di gestione di Sql.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/managementstudio_2.png" mce_href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/managementstudio_2.png"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=399 alt=managementstudio src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/managementstudio_thumb.png" width=309 border=0 mce_src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/managementstudio_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Q :&lt;/STRONG&gt; Quali sono gli utilizzi tipici del service broker ? &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A : &lt;A title=http://technet.microsoft.com/it-it/library/ms166071.aspx href="http://technet.microsoft.com/it-it/library/ms166071.aspx" mce_href="http://technet.microsoft.com/it-it/library/ms166071.aspx"&gt;http://technet.microsoft.com/it-it/library/ms166071.aspx&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Q : &lt;/STRONG&gt;Quali sono i vantaggi nell'utilizzo del service broker ?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;A : &lt;A title=http://technet.microsoft.com/it-it/library/ms166063.aspx href="http://technet.microsoft.com/it-it/library/ms166063.aspx" mce_href="http://technet.microsoft.com/it-it/library/ms166063.aspx"&gt;http://technet.microsoft.com/it-it/library/ms166063.aspx&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Alcuni degli elementi fondamentali sono : &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Le conversazioni&lt;/STRONG&gt;. Rappresentano il canale di comunicazione per i messaggi. 
&lt;LI&gt;&lt;STRONG&gt;Ordinamento ed il coordinamento dei messaggi&lt;/STRONG&gt;. Ogni conversazione è costituita da due lati : L'initiator è chi avvia la conversazione, il target è il destinatario. Ciascuno di essi ha una propria gestione delle code. 
&lt;LI&gt;&lt;STRONG&gt;Programmazione asincrona e transazionale&lt;/STRONG&gt;. Il recapito dei messaggi è transazionale (quindi un rollback di una operazione comporta il rollback di tutte le operazioni coinvolte) ed asincrono.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;A questo &lt;A href="http://msdn.microsoft.com/en-us/library/bb839495(SQL.100).aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb839495(SQL.100).aspx"&gt;link&lt;/A&gt; è disponibile un tutorial che permette di testare il service broker con il database adventureworks &lt;STRONG&gt;(*)&lt;/STRONG&gt; e rappresenta un buon metodo per iniziare a familiarizzare con&amp;nbsp;questa tecnologia, mentre la documentazione di riferimento per il prodotto è disponibile &lt;A href="http://technet.microsoft.com/it-it/library/ms166104.aspx" target=_blank mce_href="http://technet.microsoft.com/it-it/library/ms166104.aspx"&gt;qui&lt;/A&gt; .&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;*&lt;/STRONG&gt; - I database di esempio per Sql Server 2008 RC0&amp;nbsp; sono reperibili sul sito CodePlex a questo &lt;A href="http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=14274" target=_blank mce_href="http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=14274"&gt;link&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Per l'esecuzione dello script di creazione del database AdventureWorks potrebbe essere necessario abilitare il filestream per l'accesso da T-SQL. Per farlo occorre andare su Sql Server Configuration Manager nelle proprietà del servizio Sql Server.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/filestream_2.png" mce_href="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/filestream_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=330 alt=filestream src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/filestream_thumb.png" width=300 border=0 mce_src="http://blogs.technet.com/blogfiles/francesco_diaz/WindowsLiveWriter/ServiceBrokerprimocontatto_D1FA/filestream_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Per il popolamento del db inoltre potrebbe essere richiesto il cambio del path all'interno dello script per l'accesso tramite &lt;A href="http://msdn.microsoft.com/en-us/library/ms188365.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms188365.aspx"&gt;BULK INSERT&lt;/A&gt; ai file csv presenti nella cartella samples. 
&lt;P&gt;-- SET @data_path = 'C:\Program Files\Microsoft SQL Server\100\Tools\Samples\AdventureWorks2008 OLTP\';&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3074940" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Programmazione/default.aspx">Programmazione</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Service+Broker/default.aspx">Service Broker</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2005/default.aspx">Sql Server 2005</category></item><item><title>XQuery e SQL 2008 - la clausola LET</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/06/18/xquery-e-sql-2008-la-clausola-let.aspx</link><pubDate>Wed, 18 Jun 2008 14:59:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3073429</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3073429.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3073429</wfw:commentRss><description>&lt;p&gt;Con Sql Server 2005 è stato introdotto il tipo di dati &lt;strong&gt;xml. &lt;/strong&gt;Uno dei metodi per fare query all'interno di un documento xml è usare un sottoinsieme delle possibilità offerte da XQuery tramite il linguaggio T-SQL. Oltre alle clausole &lt;strong&gt;for&lt;/strong&gt;, &lt;strong&gt;where&lt;/strong&gt;, &lt;strong&gt;order by&lt;/strong&gt; e &lt;strong&gt;return&lt;/strong&gt; delle cosiddette espressioni &lt;a href="http://technet.microsoft.com/it-it/library/ms190945.aspx" target="_blank"&gt;FLWOR&lt;/a&gt;, &lt;/p&gt; &lt;p&gt;Sql Server 2008 supporta anche&amp;nbsp; la clausola &lt;strong&gt;let&lt;/strong&gt;, che permette di assegnare un valore ad una variabile all'interno di una espressione XQuery. Ecco un esempio : &lt;/p&gt; &lt;p&gt;&lt;font color="#008000"&gt;-- dichiarazione e valorizzazione della variabile&lt;/font&gt;&lt;br&gt;&lt;font color="#0000ff"&gt;declare&lt;/font&gt; @x &lt;font color="#0000ff"&gt;xml&lt;br&gt;set&lt;/font&gt; @x=&lt;br&gt;&lt;font color="#ff0000"&gt;'&amp;lt;Fatture&amp;gt;&lt;br&gt;&amp;lt;Fattura&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cliente&amp;gt;Mario Rossi&amp;lt;/Cliente&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotti&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotto IDProdotto="2" Prezzo="1.99" Quantita="1" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotto IDProdotto="3" Prezzo="2.99" Quantita="2" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotto IDProdotto="5" Prezzo="1.99" Quantita="1" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Prodotti&amp;gt;&lt;br&gt;&amp;lt;/Fattura&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Fattura&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Cliente&amp;gt;Andrea Bianchi&amp;lt;/Cliente&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotti&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Prodotto IDProdotto="2" Prezzo="1.99" Quantita="1"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Prodotti&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Fattura&amp;gt;&lt;br&gt;&amp;lt;/Fatture&amp;gt;' &lt;/font&gt; &lt;p&gt;&lt;font color="#008000"&gt;--XQuery&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;SELECT&lt;/font&gt; @x.query(&lt;br&gt;&lt;font color="#ff0000"&gt;'&amp;lt;Ordini&amp;gt;&lt;br&gt;{&lt;br&gt;for $Fattura in /Fatture/Fattura&lt;br&gt;&lt;strong&gt;let&lt;/strong&gt; $count :=count($Fattura/Prodotti/Prodotto) &lt;br&gt;order by $count&lt;br&gt;return&lt;br&gt;&amp;lt;Ordine&amp;gt;&lt;br&gt;{$Fattura/Cliente}&lt;br&gt;&amp;lt;Conteggio&amp;gt;{$count}&amp;lt;/Conteggio&amp;gt;&lt;br&gt;&amp;lt;/Ordine&amp;gt;&lt;br&gt;}&lt;br&gt;&amp;lt;/Ordini&amp;gt;'&lt;/font&gt;)&lt;/p&gt; &lt;p&gt;&amp;nbsp; &lt;p&gt;&lt;font color="#008000"&gt;--output della query&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordini&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordine&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Cliente&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;Andrea Bianchi&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Cliente&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt; &amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Conteggio&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;1&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Conteggio&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordine&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordine&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Cliente&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;Mario Rossi&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Cliente&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ff0000"&gt;Conteggio&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;3&lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Conteggio&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&lt;/font&gt;&amp;nbsp; &lt;font color="#0000ff"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordine&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;br&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#ff0000"&gt;Ordini&lt;/font&gt;&lt;font color="#0000ff"&gt;&amp;gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3073429" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Xml/default.aspx">Xml</category></item><item><title>T-SQL 2008 - Istruzione MERGE</title><link>http://blogs.technet.com/francesco_diaz/archive/2008/06/13/t-sql-2008-istruzione-merge.aspx</link><pubDate>Fri, 13 Jun 2008 17:57:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3070500</guid><dc:creator>Francesco Diaz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.technet.com/francesco_diaz/comments/3070500.aspx</comments><wfw:commentRss>http://blogs.technet.com/francesco_diaz/commentrss.aspx?PostID=3070500</wfw:commentRss><description>&lt;p&gt;Una delle novità interessanti su Sql Server 2008 è la possibilità di eseguire delle istruzioni di insert, update e delete basandosi sui risultati di una join tra una tabella di origine ed una di destinazione. Il tutto con un solo comando : &lt;a href="http://msdn.microsoft.com/en-us/library/bb510625(SQL.100).aspx" target="_blank"&gt;MERGE&lt;/a&gt; .&lt;/p&gt; &lt;p&gt;E' comoda per esempio per operazioni di sincronizzazione tra due tabelle nel caso esistano delle differenze.&lt;/p&gt; &lt;p&gt;Vi incollo un semplice codice di esempio estratto da una &lt;a href="http://msdn.microsoft.com/en-us/library/bb522522(SQL.100).aspx" target="_blank"&gt;pagina&lt;/a&gt; su msdn dove trovate anche altri possibili utilizzi del comando : &lt;/p&gt;&lt;pre&gt;-------------------------------------------------------------------------------------&lt;/pre&gt;&lt;pre&gt;USE AdventureWorks;
GO
IF OBJECT_ID (N'dbo.Purchases', N'U') IS NOT NULL 
    DROP TABLE dbo.Purchases;
GO
CREATE TABLE dbo.Purchases (
    ProductID int, CustomerID int, PurchaseDate datetime, 
    CONSTRAINT PK_PurchProdID PRIMARY KEY(ProductID,CustomerID));
GO
INSERT INTO dbo.Purchases VALUES(707, 11794, '20060821'),
(707, 15160, '20060825'),(708, 18529, '20060821'),
(711, 11794, '20060821'),(711, 19585, '20060822'),
(712, 14680, '20060825'),(712, 21524, '20060825'),
(712, 19072, '20060821'),(870, 15160, '20060823'),
(870, 11927, '20060824'),(870, 18749, '20060825');
GO
IF OBJECT_ID (N'dbo.FactBuyingHabits', N'U') IS NOT NULL 
    DROP TABLE dbo.FactBuyingHabits;
GO
CREATE TABLE dbo.FactBuyingHabits (
    ProductID int, CustomerID int, LastPurchaseDate datetime, 
    CONSTRAINT PK_FactProdID PRIMARY KEY(ProductID,CustomerID));
GO
INSERT INTO dbo.FactBuyingHabits VALUES(707, 11794, '20060814'),
(707, 18178, '20060818'),(864, 14114, '20060818'),
(866, 13350, '20060818'),(866, 20201, '20060815'),
(867, 20201, '20060814'),(869, 19893, '20060815'),
(870, 17151, '20060818'),(870, 15160, '20060817'),
(871, 21717, '20060817'),(871, 21163, '20060815'),
(871, 13350, '20060815'),(873, 23381, '20060815');
GO
&lt;/pre&gt;&lt;pre&gt;&lt;strong&gt;MERGE&lt;/strong&gt; dbo.FactBuyingHabits AS Target
&lt;strong&gt;USING&lt;/strong&gt; (SELECT CustomerID, ProductID, PurchaseDate FROM dbo.Purchases) AS Source
&lt;strong&gt;ON&lt;/strong&gt; (Target.ProductID = Source.ProductID AND Target.CustomerID = Source.CustomerID)
&lt;strong&gt;WHEN&lt;/strong&gt; &lt;strong&gt;MATCHED THEN&lt;/strong&gt;
    UPDATE SET Target.LastPurchaseDate = Source.PurchaseDate
&lt;strong&gt;WHEN NOT MATCHED BY TARGET THEN&lt;/strong&gt;
    INSERT (CustomerID, ProductID, LastPurchaseDate)
    VALUES (Source.CustomerID, Source.ProductID, Source.PurchaseDate)
&lt;strong&gt;OUTPUT&lt;/strong&gt; $action, Inserted.*, Deleted.*; 
-------------------------------------------------------------------------------------&lt;/pre&gt;&lt;pre&gt;E' anche disponibile un webcast in italiano che potete trovare &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032356567&amp;amp;EventCategory=5&amp;amp;culture=it-IT&amp;amp;CountryCode=IT" target="_blank"&gt;qui&lt;/a&gt;.&lt;/pre&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3070500" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.technet.com/francesco_diaz/archive/tags/Sql+Server+2008/default.aspx">Sql Server 2008</category></item></channel></rss>