<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>SQL Server Perceptions</title>
        <link>http://weblogs.sqlteam.com/dmauri/Default.aspx</link>
        <description>Experiences with SQL Server</description>
        <language>it-IT</language>
        <copyright>Davide Mauri</copyright>
        <managingEditor>info@davidemauri.it</managingEditor>
        <generator>Subtext Version 1.9.4.0</generator>
        <image>
            <title>SQL Server Perceptions</title>
            <url>http://weblogs.sqlteam.com/images/RSS2Image.gif</url>
            <link>http://weblogs.sqlteam.com/dmauri/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Next version of DTLoggedExec: Dataflow Profiling in sight!</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2008/07/31/60661.aspx</link>
            <description>&lt;p&gt;It's been a long time since I've been able to work consistenly on my DTLoggedExec tool. Fortunately in these last days I've been able to spare some free time to continue the work, and now, &lt;strike&gt;within a few days&lt;/strike&gt; in September 2008 I should be able realease a new version of it.&lt;/p&gt;  &lt;p&gt;This new version will contain a new (and &lt;em&gt;imho&lt;/em&gt; very very important) feature: DTLoggedExec will be able to &lt;strong&gt;profile DataFlow executions&lt;/strong&gt;, generating a CVS-like file where all the informations on how many rows have been processed by each dataflow component will be available.&lt;/p&gt;  &lt;p&gt;You can see an example of this file here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.davidemauri.it/files/Test-Package4.dtsprofile.txt" href="http://www.davidemauri.it/files/Test-Package4.dtsprofile.txt"&gt;http://www.davidemauri.it/files/Test-Package4.dtsprofile.txt&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I suggest to download it so that you can start to play and see how many things you can do with all that informations.&lt;/p&gt;  &lt;p&gt;Here is the Package used as a sample: &lt;a title="http://www.davidemauri.it/files/Test-Package4.zip" href="http://www.davidemauri.it/files/Test-Package4.zip"&gt;http://www.davidemauri.it/files/Test-Package4.zip&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course with such file it's very very very very easy to import everything in a SSIS Performance Database that you can create for that purpose, so that you can do query like this one:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.sqlteam.com/images/weblogs_sqlteam_com/dmauri/WindowsLiveWriter/NextversionofDTLoggedExecDataflowProfili_C0CA/Query_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="238" alt="Query" src="http://weblogs.sqlteam.com/images/weblogs_sqlteam_com/dmauri/WindowsLiveWriter/NextversionofDTLoggedExecDataflowProfili_C0CA/Query_thumb.png" width="413" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;With that you can aggregate data and monitor how your package is performing on daily basis.&lt;/p&gt;  &lt;p&gt;These are the data currently avaiable in the .dtsprofile file:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;DataFlowId,  &lt;br /&gt;DataFlowName,  &lt;br /&gt;ExecutionNumber,       &lt;br /&gt;TransformationId,  &lt;br /&gt;TransformationName,       &lt;br /&gt;SourceId,  &lt;br /&gt;SourceName,       &lt;br /&gt;DestinationId,  &lt;br /&gt;DestinationName,       &lt;br /&gt;RowCount&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;DTLoggedExec is capable of handling correctly complex packages situations, if you have a DataFlow inside a loop, it detects it and populate the "ExecutionNumber" value accordingly, so that you can profile dataflow execution data for each iteration. Of course it also provides a timestamp so that you can calculate how many rows are processed per minute (o per second), creating a graph where you can see the trendline of your package execution times agains the number of processed rows (for example).&lt;/p&gt;  &lt;p&gt;Basically you can do now some serious performance trendline analysis of packages &lt;em&gt;without&lt;/em&gt; having to instrument the package itself. All the data you need will be extracted by DTLoggedExec itself, right from the SSIS Engine.&lt;/p&gt;  &lt;p&gt;I now really feel that DTLoggedExec is really what DTExec should have been right from the start.&lt;/p&gt;  &lt;p&gt;Of course DTLoggedExec will work also with SQL Server 2008 :-)&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/60661.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2008/07/31/60661.aspx</guid>
            <pubDate>Thu, 31 Jul 2008 09:42:49 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2008/07/31/60661.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/60661.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Using SQL Server PowerShell Snapin with other Powershell shells</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2008/06/18/60631.aspx</link>
            <description>&lt;p&gt;SQL Server 2008 has a strong integration with PowerShell but actually it also provide a custom shell, SQLPS, which is somehow limited for me. Well actually is limited more in general speaking, since it is called "minishell".&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;"SQLPS.exe is a Minishell (also called “custom shell”). It is a form of pre-packaging of Powershell functionality, and it is available to anyone who wants to do this (make-shell). It &lt;u&gt;is&lt;/u&gt; regular Powershell, albeit with limitations that the Powershell team decided to impose on it – it is a ‘closed’ shell, which doesn’t allow adding other snapins.&lt;/p&gt;    &lt;p&gt;We are shipping SQLPS to make life of our DBA’s a whole lot easier. If they need to have quick access to the SQL providers, assemblies, cmdlets, default security settings, everything is there. We could have possibly done this through a startup script but not everything can be accomplished this way. We are changing the default security settings, without affecting the settings for overall Powershell. Minishells have their own settings."&lt;/p&gt;    &lt;p&gt;&lt;a title="http://blogs.msdn.com/mwories/archive/2008/06/14/SQL2008_5F00_Powershell.aspx" href="http://blogs.msdn.com/mwories/archive/2008/06/14/SQL2008_5F00_Powershell.aspx"&gt;http://blogs.msdn.com/mwories/archive/2008/06/14/SQL2008_5F00_Powershell.aspx&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Of course it give PowerShell access right out of the box and requires no configuration, but I need something more developer friendly when I have to write complex powershell scripts.&lt;/p&gt;  &lt;p&gt;More in generale, when I use PowerShell I'd like to use my preferred IDE (actually &lt;a href="http://www.powergui.org/index.jspa" target="_blank"&gt;PowerGUI&lt;/a&gt;). Is it possible to configure any shell other than SQLPS to have the same behaviour of that one? Fortunately yes!&lt;/p&gt;  &lt;p&gt;Is just a matter of adding the snapins so that we can use the SQL: drives&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;# Manual procedure     &lt;br /&gt;Get-PSSnapin -registered      &lt;br /&gt;Add-PSSnapin SqlServerCmdletSnapin      &lt;br /&gt;Add-PSSnapin SqlServerProviderSnapin&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;we can also automatize everything:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;# Verbose command     &lt;br /&gt;Get-PSSnapin -Registered | Where-Object { $_.Name -like "SqlServer*" } | ForEach-Object { Write-Host "Adding Snapin " + $_.Name; Add-PSSnapin $_.Name } &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;# Contracted version:     &lt;br /&gt;# gsnp -Registered  | ? { $_.Name -like "SqlServer*" } | % { "Adding Snapin " + $_.Name; asnp $_.Name }&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;then we also need to make sure that the default formating when dealing with SQL Server object is the one used by SQLPS. Again all we need to do is just register formating and format type data:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New" size="2"&gt;# Load Formatting Types Data     &lt;br /&gt;Update-TypeData "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLProvider.Types.ps1xml"      &lt;br /&gt;Update-FormatData "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLProvider.Format.ps1xml"&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;That's it! We can now enjoy SQL Server through our preferred PowerShell shell! SQL PSDrive, CmdLets and everything is ready to be used :-)&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/60631.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2008/06/18/60631.aspx</guid>
            <pubDate>Wed, 18 Jun 2008 09:32:44 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2008/06/18/60631.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/60631.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SQL Server Best Practices and Performance Tuning for Oracle Enterprise Applications Workshop</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2007/06/27/60243.aspx</link>
            <description>&lt;p&gt;In the last days Frank McBath send me an interesting email regarding a free workshop that will be delivered in Zurich on the 10 and 11 of July.&lt;/p&gt;
&lt;p&gt;The workshop is &lt;strong&gt;really intersting&lt;/strong&gt;, as you may see by yourself:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;"There are many courses in the market that cover either the application or the database, but very little that focuses on how the two work together. The goal of this workshop is provide insight into that area-- where the database meets the enterprise application. With examples from Siebel, PeopleSoft, JD Edwards and SAP."&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Info and registration here:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032342993&amp;amp;Culture=de-CH" href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032342993&amp;amp;Culture=de-CH"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032342993&amp;amp;Culture=de-CH&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Don't miss it if you have that chance to go.&lt;/p&gt;
&lt;p&gt;Other schedules and location can be found here:&lt;/p&gt;
&lt;p&gt;&lt;a title="http://www.microsoft-oracle.com/Pages/default.aspx" href="http://www.microsoft-oracle.com/Pages/default.aspx"&gt;http://www.microsoft-oracle.com/Pages/default.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/60243.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2007/06/27/60243.aspx</guid>
            <pubDate>Wed, 27 Jun 2007 13:20:06 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2007/06/27/60243.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/60243.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DTLoggedExec v 0.1.3.2 Released</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2007/06/05/60225.aspx</link>
            <description>&lt;p&gt;After a while I've realeased a new version of DTLoggedExec, the DTExec replacement:&lt;/p&gt;
&lt;li&gt;&lt;strong&gt;Compiled to support 32bit and 64bit platforms&lt;/strong&gt; (32bit and 64bit executables are available in the zipped file) &lt;/li&gt;
&lt;li&gt;Updated the ConsoleLogProvider to add a more detailed logging of OnError events. &lt;strong&gt;Now all properties, along with related connection properties of the erroneous task are logged. This is IDEAL for post-mortem debugging&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;Corrected a little bug that prevented the abilility to load packages from SQL Server using SQL Authentication &lt;/li&gt;
&lt;li&gt;Display loaded package version &lt;/li&gt;
&lt;li&gt;Added Help File &lt;/li&gt;
&lt;li&gt;Added Samples Packages &lt;/li&gt;
&lt;li&gt;Added Usage Samples &lt;/li&gt;
&lt;p&gt;More info and download on &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=DTLoggedExec"&gt;CodePlex&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/60225.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2007/06/05/60225.aspx</guid>
            <pubDate>Tue, 05 Jun 2007 19:27:03 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2007/06/05/60225.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/60225.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Useful index scripts</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/11/12/22598.aspx</link>
            <description>&lt;p&gt;At this address&lt;/p&gt;
&lt;p&gt;&lt;a title="http://www.davidemauri.it/SqlScripts.aspx" href="http://www.davidemauri.it/SqlScripts.aspx"&gt;http://www.davidemauri.it/SqlScripts.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;i've released four scripts that simplify the usage of SQL Server 2005 DMVs to discover, analyze and understand indexes usage and health.&lt;/p&gt;
&lt;p&gt;They are nothing exceptional, juts a shortcut to common (but long to write) &lt;br /&gt;
queries.&lt;/p&gt;
&lt;p&gt;I use them a lot, maybe they're of some use to other DBAs :-)&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/22598.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/11/12/22598.aspx</guid>
            <pubDate>Sun, 12 Nov 2006 17:07:48 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/11/12/22598.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/22598.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DTLoggedExec v 0.1.2.0 released!</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/11/06/18182.aspx</link>
            <description>&lt;p&gt;Finally I've realeased a new version of my DTLoggedExec tool.&lt;/p&gt;
&lt;p&gt;A lots of improvement from the first public version:&lt;/p&gt;
&lt;p&gt;-Switched to a fully pluggable architecture to support 3rd party plugins&lt;br /&gt;
-Added "LogEvent" command line switch to choose which events should be logged&lt;br /&gt;
-Added support for Expression logging&lt;br /&gt;
-Added "Package Name" and "Container ID" values in the console log&lt;/p&gt;
&lt;p&gt;Download it from &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=DTLoggedExec"&gt;CodePlex&lt;/a&gt;!&lt;/p&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/18182.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/11/06/18182.aspx</guid>
            <pubDate>Mon, 06 Nov 2006 16:34:04 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/11/06/18182.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/18182.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DTLoggedExec can now log even DTS Expressions!</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/07/05/10484.aspx</link>
            <description>&lt;P&gt;Today I worked again on DTLoggedExec. I've been able to add the ability to log properties with DTS Expressions associated. This allows the log to show and report properties values in additions to the already present ablity to log variables values.&lt;/P&gt;
&lt;P&gt;I'm sure you'll find this feature really helpful if you're using DTS Expression (as you should do) to add flexibility to your SSIS Packages.&lt;/P&gt;
&lt;P&gt;The DTLoggedExec that will contain this new feature will be the version 0.1.1.0.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.davidemauri.it/DasBlog/cptrk.ashx?id=c3c65892-c363-4e8c-abe1-603f11090024"&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/10484.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/07/05/10484.aspx</guid>
            <pubDate>Wed, 05 Jul 2006 13:39:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/07/05/10484.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/10484.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DTLoggedExec page online</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/06/28/10405.aspx</link>
            <description>&lt;P&gt;I've created a dedicated page for my DTLoggedExec tool.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.davidemauri.it/dtloggedexec.aspx"&gt;http://www.davidemauri.it/dtloggedexec.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;By the end of the month (June) i'll put online the full source code. The code and the application are licensed under &lt;A href="http://creativecommons.org/licenses/by-nc-nd/2.5/it/" rel=license&gt;Creative Commons Attribution-NonCommercial-NoDerivs 2.5 Italy License&lt;/A&gt;.&lt;!--/Creative Commons License--&gt;&lt;!-- &lt;rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"&gt;
	        &lt;Work rdf:about=""&gt;
		        &lt;license rdf:resource="http://creativecommons.org/licenses/by-nc-nd/2.5/it/" /&gt;
	        &lt;dc:title&gt;DTLoggedExec&lt;/dc:title&gt;
	        &lt;dc:date&gt;2006&lt;/dc:date&gt;
	        &lt;dc:description&gt;A tool for running SSIS Packages with full logging informations&lt;/dc:description&gt;
	        &lt;dc:creator&gt;&lt;Agent&gt;&lt;dc:title&gt;Davide Mauri&lt;/dc:title&gt;&lt;/Agent&gt;&lt;/dc:creator&gt;
	        &lt;dc:rights&gt;&lt;Agent&gt;&lt;dc:title&gt;Davide Mauri&lt;/dc:title&gt;&lt;/Agent&gt;&lt;/dc:rights&gt;
	        &lt;dc:source rdf:resource="http://www.davidemauri.it/dtloggedexec" /&gt;
	        &lt;/Work&gt;
	        &lt;License rdf:about="http://creativecommons.org/licenses/by-nc-nd/2.5/it/"&gt;&lt;permits rdf:resource="http://web.resource.org/cc/Reproduction"/&gt;&lt;permits rdf:resource="http://web.resource.org/cc/Distribution"/&gt;&lt;requires rdf:resource="http://web.resource.org/cc/Notice"/&gt;&lt;requires rdf:resource="http://web.resource.org/cc/Attribution"/&gt;&lt;prohibits rdf:resource="http://web.resource.org/cc/CommercialUse"/&gt;&lt;/License&gt;&lt;/rdf:RDF&gt; --&gt; &lt;/P&gt;
&lt;P&gt;The "NoDerives" licensing limitation just means that if you want to contribute to the project you have to join codeplex and/or contact me so that I can add you to official authors list. &lt;/P&gt;
&lt;P&gt;The "NonCommercial" licensing limitation just means that you cannot take the code and the executable and sell it. Of course, if you want to use it in your production eviroment, that's fine.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.davidemauri.it/DasBlog/cptrk.ashx?id=bddd3cbf-0229-41de-aa4d-07343ad1e839"&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/10405.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/06/28/10405.aspx</guid>
            <pubDate>Wed, 28 Jun 2006 07:21:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/06/28/10405.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/10405.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SSIS Logging: DTLoggedExec news</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/06/03/10041.aspx</link>
            <description>&lt;P&gt;I've been able to work a little on my DTLoggedExec project in this last week. You can find a log execution result here: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.davidemauri.it/files/DTLoggedExec_test_output.txt"&gt;http://www.davidemauri.it/files/DTLoggedExec_test_output.txt&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;DTLoggedExec now supports some of the original DTExec options and is able to log even variables values, as you may see from the link above. DTLoggedExec will also support a plugin architecture so that creating a custom log provider will be as easy as 1-2-3. Currently developed log provider are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;NullLogProvider&lt;/LI&gt;
&lt;LI&gt;SqlServerLogProvider&lt;/LI&gt;
&lt;LI&gt;ConsoleLogProvider&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The Null log provider will just trash every information it gets. I'm using it to benchmark the impact of other providers on package execution. SqlServerProvider will send all information to a sysdtslog902 table. Note that the table is NOT the original sysdtslog90, since DTLoggedExec can log A LOT more information than the orginala tool. The ConsoleLogProvider will just send data to the console. This is the log provider I used to create the test_output.txt file that I put on my website.&lt;/P&gt;
&lt;P&gt;I've also a great news. I've decided to release the code under the Creative Commons license, and I'll release the project on CodePlex (I've just requested to open a new project for that) for the end of this month.&lt;/P&gt;
&lt;P&gt;Of course any comments and feedback is appreciated!&lt;/P&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/10041.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/06/03/10041.aspx</guid>
            <pubDate>Sat, 03 Jun 2006 15:53:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/06/03/10041.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/10041.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SSIS Logging: DTLoggedExec</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/05/17/9870.aspx</link>
            <description>&lt;P&gt;After using a SSIS for quite a lot I decided to develop a DTExec on my own. The reasons can be found in the feature set that I have&amp;nbsp;I mind and I'd like to implement asap:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Ability to switch on/off logging from the execution utility, not only from inside the package (and thus only using Visual Studio) 
&lt;LI&gt;Avoid to use&amp;nbsp;native&amp;nbsp;log provider and add a personalized concept of logging provider where you can log a LOT&amp;nbsp;more of information.&amp;nbsp;Above all&amp;nbsp;I'm interested&amp;nbsp;in &lt;STRONG&gt;logging variables values&lt;/STRONG&gt;&amp;nbsp;for each trappable event. This will make things a lot more easier when you have to understand why a package didn't run correctly. 
&lt;LI&gt;Ability to save information on task hosts relationships, so that you can understand clearly if a task is inside a container, or if a package is called from another package. All this information must go to the log store so that you can see it in a graphical format each time you need it. 
&lt;LI&gt;Ability to specify to log ANY of the properties you have in package and package's containers. In this way you can see, for example, how an expression has modified a property.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;After a little development and after having solved some problems (mostly due to lack of information in documentation), I've got something that is useful. I've wrote a console application called DTLoggedExec that behaves like DTExec (though is not yet 1:1 compatible with its command options). For now it "just" allows you to decide what kind of Log Provider to use and to log variables values. &lt;/P&gt;
&lt;P&gt;Log providers ARE NOT the log providers shipped with SSIS, but are new classes written from the scratch; they allow the DTLoggedExec to support a plugin architecure.&lt;/P&gt;
&lt;P&gt;This is a sample screenshot where you can see the variables logged to the console.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.davidemauri.it/DasBlog/content/binary/dle_shot_big_1.png"&gt;&lt;IMG src="http://www.davidemauri.it/DasBlog/content/binary/dle_shot_small_1.png" border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As soon as I'll have other news I'll post it ASAP.&lt;/P&gt;
&lt;P&gt;Just one thing. I've not jet decided if I'll realese this tool for free or not, so, for now, no executable and no sources are avaiable (Mostly beacause the product, though already used in some production enviroment, is an early alpha version).&lt;/P&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/9870.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/05/17/9870.aspx</guid>
            <pubDate>Wed, 17 May 2006 16:18:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/05/17/9870.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/9870.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Partitioning: Two useful query</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/04/20/9646.aspx</link>
            <description>&lt;P&gt;To obtain all information on how a table has been partitioned I usually use two views:&lt;/P&gt;
&lt;P&gt;The first just list all the partitened objects, showing the used partitioned scheme and function:&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;CREATE&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;view&lt;/FONT&gt;&lt;FONT color=#000000&gt; [sys2]&lt;/FONT&gt;&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;[partitioned_objects]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;as&lt;BR&gt;select&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;distinct&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;index_name &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;name&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;index_type_desc &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;type_desc&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;partition_scheme &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;name&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function_name &lt;FONT color=#808080&gt;=&lt;/FONT&gt; pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;name&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;function_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id&lt;BR&gt;&lt;FONT color=#0000ff&gt;from&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partitions&lt;/FONT&gt; p&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.indexes&lt;/FONT&gt; i &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt; &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt; &lt;FONT color=#808080&gt;and&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;index_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;index_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.data_spaces&lt;/FONT&gt; ds &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partition_schemes&lt;/FONT&gt; ps &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; ds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partition_functions&lt;/FONT&gt; pf &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id&lt;/P&gt;
&lt;P&gt;That sys2.partitioned_object views is very useful to see how a table has been partitioned:&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;select&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;*&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;from&lt;/FONT&gt;&lt;FONT color=#000000&gt; sys2&lt;/FONT&gt;&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;partitioned_objects &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;where&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;=&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'table_name'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;with the above query will list table and related indexes partition information.&lt;/P&gt;
&lt;P&gt;Once you know what partition scheme and function the table and related indeexes uses for partitioning you may also what to see how many partition actually exists, what range values are used and so on.&lt;/P&gt;
&lt;P&gt;This view will help you:&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;create&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;view&lt;/FONT&gt;&lt;FONT color=#000000&gt; [sys2]&lt;/FONT&gt;&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;[partitioned_objects_range_values]&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;as&lt;BR&gt;select&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;index_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;partition_number&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;rows&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;index_name &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;name&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;index_type_desc &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;type_desc&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;type_desc&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;boundary_value_on_right&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;destination_data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; dds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;destination_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;prv&lt;FONT color=#808080&gt;.&lt;/FONT&gt;parameter_id&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;prv&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;BR&gt;from&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partitions&lt;/FONT&gt; p&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.indexes&lt;/FONT&gt; i &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt; &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt; &lt;FONT color=#808080&gt;and&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;index_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;index_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.data_spaces&lt;/FONT&gt; ds &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; i&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partition_schemes&lt;/FONT&gt; ps &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; ds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partition_functions&lt;/FONT&gt; pf &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; pf&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id&lt;BR&gt;&lt;FONT color=#808080&gt;inner&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.destination_data_spaces&lt;/FONT&gt; dds &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; dds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;partition_scheme_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;data_space_id &lt;FONT color=#808080&gt;and&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;partition_number &lt;FONT color=#808080&gt;=&lt;/FONT&gt; dds&lt;FONT color=#808080&gt;.&lt;/FONT&gt;destination_id&lt;BR&gt;&lt;FONT color=#808080&gt;left&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;outer&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;join&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sys.partition_range_values&lt;/FONT&gt; prv &lt;FONT color=#0000ff&gt;on&lt;/FONT&gt; prv&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id &lt;FONT color=#808080&gt;=&lt;/FONT&gt; ps&lt;FONT color=#808080&gt;.&lt;/FONT&gt;function_id &lt;FONT color=#808080&gt;and&lt;/FONT&gt; p&lt;FONT color=#808080&gt;.&lt;/FONT&gt;partition_number &lt;FONT color=#808080&gt;=&lt;/FONT&gt; prv&lt;FONT color=#808080&gt;.&lt;/FONT&gt;boundary_id&lt;/P&gt;
&lt;P&gt;To use it, just use as the one showed before:&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;select&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;*&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;from&lt;/FONT&gt;&lt;FONT color=#000000&gt; sys2&lt;/FONT&gt;&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#000000&gt;partitioned_objects_range_values &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;where&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;=&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;object_id&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'table_name'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;The query will produce a list with all partitions and all range values for the object 'table_name'&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;I've put my "system" views into a schema named sys2, so be sure to create it or change that create view statement to create views in your own schema.&lt;/P&gt;&lt;img width="0" height="0" src="http://www.davidemauri.it/DasBlog/cptrk.ashx?id=c9d877ed-3c22-4ff9-87ce-3bf693ada233"&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/9646.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/04/20/9646.aspx</guid>
            <pubDate>Thu, 20 Apr 2006 13:50:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/04/20/9646.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/9646.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Logging With SSIS: Beware of Parent Package Variable configuration!</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/04/02/9489.aspx</link>
            <description>&lt;P&gt;In my &lt;A href="http://www.davidemauri.it/DasBlog/PermaLink,guid,ba0f6432-37b3-4b09-a2ba-e6f0b4a1dc12.aspx"&gt;previous post&lt;/A&gt; I said that "logging begins BEFORE validation and BEFORE package configuration". After talking with &lt;A href="http://sqljunkies.com/weblog/knight_reign/"&gt;Mr. Kirk Haselden&lt;/A&gt; (who has been very kind and helped me to better understand how SSIS really works. Thanks a lot Kirk!) I found a clue and a workaround.&lt;/P&gt;
&lt;P&gt;The problem, basically, is related to the fact that the configuration "Parent Package Variable" behaves differently from all other configurations. In fact, for the Parent Package Variable configuration, events are fired in the following way:&lt;/P&gt;
&lt;P&gt;Logging starts&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN lang=en-us&gt;&lt;FONT size=2&gt;Package is validated&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN lang=en-us&gt;&lt;FONT size=2&gt;Parent Package Variable Configurations are loaded&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN lang=en-us&gt;&lt;FONT size=2&gt;Expression are applied&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;Package is run &lt;/P&gt;
&lt;P&gt;which is a different from all other configuration where the configuration&amp;nbsp;is the first event. So, if you need to make the logging connection manager configurable at run time you MUST avoid using Parent Package Variables and you should use the Enviroment Variables instead. &lt;/P&gt;&lt;img width="0" height="0" src="http://www.davidemauri.it/DasBlog/cptrk.ashx?id=78a9e497-ea8b-4253-b4b0-f64e480a0515"&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/9489.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/04/02/9489.aspx</guid>
            <pubDate>Sun, 02 Apr 2006 08:50:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/04/02/9489.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/9489.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Logging With SSIS: 3 things to know</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/03/27/9438.aspx</link>
            <description>&lt;P&gt;I'm using SSIS in a big project and as any big project wants, I have to implement a quite extensive logging mechanism. "No problem" you may say. We'll, at least is what I said when I began to take care of logging. Unfortunately things are not *so* easy. To be realistic they're not easy at all.&lt;/P&gt;
&lt;P&gt;Let me explain. I have a *lots* of SSIS Packages and many of them just encapsulate reusable logic; as such they are used as sub-packages in other packages. Things are quite complicated so&amp;nbsp;I have a "Matrioska" situation where Packages call Packages that call Packages and so on. &lt;/P&gt;
&lt;P&gt;Here comes the first problems:&lt;/P&gt;
&lt;P&gt;1) &lt;STRIKE&gt;Native logging doesn't seems to work for packages up from the third nesting level if you leave the default logging mode to "UseParentSettings".&lt;/STRIKE&gt; Be aware with "UseParentSettings" logging mode: you have to configure the package that uses this option the SAME AS if it has LoggingMode set to "True". So you have to configure a connection for logging and to specify and enable the log provider.&lt;/P&gt;
&lt;P&gt;2)&amp;nbsp;With native package logging you can't understand whether a task is contained in a bigger container or not. This is not a vital problem but it would have help to create more precise reports.&lt;/P&gt;
&lt;P&gt;Now, let's also say that you have a package that must be executed against multiple databases. For example you have the database Customer1, Customer2 and so on, all with the same schema but with different data. You're surely going to create una SISS Package that has the ability to configure itself automatically so that it will run&amp;nbsp;targeting different database basing on a very cool SSIS Configuration file. Since the package is REALLY big and create a LOT of logging you'll also think to create a different log database for any customer. So you'll have LOG_Customer1, LOG_Customer2 and so on. And here's the problem&lt;/P&gt;
&lt;P&gt;3) If you want to log using a SQL Server Log Provider you CAN'T make the Sql Server connection dynamic (with the aid of an Expression) since logging begins BEFORE validation and BEFORE package configuration. This means that the logging with initally log on the database you have specified in the ConnectionString&amp;nbsp;property of your Sql Server Connection, and only after package configuration has taken place will switch to log on your dynamicaly configured database. &lt;BR&gt;The problem is that the database you configure in the ConnectionString statically may not exists, since you know that the value will be corrected at run-time. Unfurtunately this won't help if you need to run this package from another package since logging to a non-existent database will raise an error. The error is strange enough because won't make you inner package execution fail, but will only fail the outer package, leaving you with a "Executed successfully with error" situation.&lt;/P&gt;
&lt;P&gt;To solve these problems i've started to create a DTExec on my own where&amp;nbsp;I can control logging manually and from OUTSIDE the package.&lt;/P&gt;
&lt;P&gt;As soon&amp;nbsp;I have other information or solution i'll post them asap, in the meantime if someone has faced the same problems i'd like to hear his experience.&lt;/P&gt;&lt;IMG height=0 src="http://www.davidemauri.it/DasBlog/cptrk.ashx?id=ba0f6432-37b3-4b09-a2ba-e6f0b4a1dc12" width=0&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/9438.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/03/27/9438.aspx</guid>
            <pubDate>Mon, 27 Mar 2006 20:26:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/03/27/9438.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/9438.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A better NTILE implementation</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/03/17/9339.aspx</link>
            <description>&lt;P&gt;The implementation of the NTILE(n) windowing function is a little bit slow and requires a temp worktable that generates A LOT of I/O. Probably that because, as the BOL says, if you have a number of rows that is not divisible by your "n" bucket value, the function has to make the "Larger groups come before smaller groups in the order specified by the OVER clause".&lt;/P&gt;
&lt;P&gt;If you're using NTILE for statistical purposes and so you don't care about having larger groups before smaller one, mostly because the difference among the groups population tipically will be of only&amp;nbsp;one unit, you can implement NTILE with the following script:&lt;/P&gt;
&lt;P dir=ltr align=left&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;/FONT&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomerKey&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;FONT color=#ff00ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CEILING&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;ROW_NUMBER&lt;FONT color=#808080&gt;()&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;OVER&lt;/FONT&gt; &lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;BY&lt;/FONT&gt; YearlyIncome &lt;FONT color=#0000ff&gt;ASC&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;/&lt;/FONT&gt; &lt;FONT color=#808080&gt;((&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;/FONT&gt; &lt;FONT color=#ff00ff&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;COUNT&lt;/FONT&gt;&lt;FONT color=#808080&gt;(*)&lt;/FONT&gt; &lt;FONT color=#808080&gt;+&lt;/FONT&gt; 1 &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;FLOAT&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt; DimCustomer&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;/&lt;/FONT&gt; @n&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS &lt;/FONT&gt;&lt;FONT color=#000000&gt;NTileFast&lt;/FONT&gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;DimCustomer&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P dir=ltr align=left&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;where @n is a variable that contains your bucket value. For example, if you want a NTILE(5) your @n value will be 5.&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;BR&gt;You can make some test using the AdventureWorksDW database:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;DECLARE&lt;/FONT&gt;&lt;FONT color=#000000&gt; @n &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INT&lt;/FONT&gt;&lt;FONT color=#808080&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;SET&lt;/FONT&gt;&lt;FONT color=#000000&gt; @n &lt;/FONT&gt;&lt;FONT color=#808080&gt;=&lt;/FONT&gt;&lt;FONT color=#000000&gt; 5&lt;/FONT&gt;&lt;FONT color=#808080&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;WITH&lt;/FONT&gt;&lt;FONT color=#000000&gt; CTE &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomerKey&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NTILE&lt;FONT color=#808080&gt;(&lt;/FONT&gt;@n&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;OVER&lt;/FONT&gt; &lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;BY&lt;/FONT&gt; YearlyIncome &lt;FONT color=#0000ff&gt;ASC&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; NTileStd&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DimCustomer&lt;BR&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;COUNT&lt;/FONT&gt;&lt;FONT color=#808080&gt;(*),&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NTileStd&lt;BR&gt;&lt;FONT color=#0000ff&gt;FROM&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CTE&lt;BR&gt;&lt;FONT color=#0000ff&gt;GROUP&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;BY&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NTileStd&lt;BR&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;BY&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;FONT color=#808080&gt;;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;WITH&lt;/FONT&gt;&lt;FONT color=#000000&gt; CTE &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SELECT&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CustomerKey&lt;FONT color=#808080&gt;,&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CEILING&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;ROW_NUMBER&lt;FONT color=#808080&gt;()&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;OVER&lt;/FONT&gt; &lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;BY&lt;/FONT&gt; YearlyIncome &lt;FONT color=#0000ff&gt;ASC&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;/&lt;/FONT&gt; &lt;FONT color=#808080&gt;((&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;/FONT&gt; &lt;FONT color=#ff00ff&gt;CAST&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;COUNT&lt;/FONT&gt;&lt;FONT color=#808080&gt;(*)&lt;/FONT&gt; &lt;FONT color=#808080&gt;+&lt;/FONT&gt; 1 &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;FLOAT&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt; DimCustomer&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;/&lt;/FONT&gt; @n&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS &lt;/FONT&gt;NTileFast&lt;BR&gt;&lt;FONT color=#0000ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FROM&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DimCustomer&lt;BR&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#ff00ff&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;COUNT&lt;/FONT&gt;&lt;FONT color=#808080&gt;(*),&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NTileFast&lt;BR&gt;&lt;FONT color=#0000ff&gt;FROM&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CTE&lt;BR&gt;&lt;FONT color=#0000ff&gt;GROUP&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;BY&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;NTileFast&lt;BR&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt;&lt;FONT color=#000000&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;BY&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&lt;FONT color=#808080&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;You'll notice that the first will make 38490 I/O (!!!) where the second one will only make 1036 I/O, which is 37 time LESS!!!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;I have discovered this behaviour with my collegue &lt;A href="http://www.sqljunkies.com/WebLog/sqlbi/default.aspx"&gt;Marco Russo&lt;/A&gt;&amp;nbsp;using a milions rows table and as you may image 37 times less I/O DOES the difference! :-)&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/9339.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/03/17/9339.aspx</guid>
            <pubDate>Fri, 17 Mar 2006 17:04:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/03/17/9339.aspx#feedback</comments>
            <slash:comments>7</slash:comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/9339.aspx</wfw:commentRss>
        </item>
        <item>
            <title>SQL Pass 2006 Europe</title>
            <link>http://weblogs.sqlteam.com/dmauri/archive/2006/01/19/8825.aspx</link>
            <description>&lt;P&gt;I'm proud to announce that I will participate to the SQL Pass 2006 Europe conference as a speaker!&lt;/P&gt;
&lt;P&gt;Along with my collegue Alessandro I'll speak about advanced Reporting Services development. Here's the session abstract:&lt;/P&gt;
&lt;P&gt;"In this session the Reporting Services will be used beyond their visible limits, creating a solution that allows people to execute arbitrary T-SQL code to create their reports. This will be done using external assemblies, leveraging the power of .NET and the flexibility of Reporting Services."&lt;/P&gt;
&lt;P&gt;You can see all other sessions here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.sqlpass.org/events/europe/2006/sessions.cfm"&gt;http://www.sqlpass.org/events/europe/2006/sessions.cfm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;See you there!&lt;/P&gt;&lt;img width="0" height="0" src="http://www.davidemauri.it/dasBlog/cptrk.ashx?id=c8ae293a-b66f-43d8-aac7-80d5c2532509"&gt;&lt;img src="http://weblogs.sqlteam.com/dmauri/aggbug/8825.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Davide Mauri</dc:creator>
            <guid>http://weblogs.sqlteam.com/dmauri/archive/2006/01/19/8825.aspx</guid>
            <pubDate>Thu, 19 Jan 2006 15:42:00 GMT</pubDate>
            <comments>http://weblogs.sqlteam.com/dmauri/archive/2006/01/19/8825.aspx#feedback</comments>
            <wfw:commentRss>http://weblogs.sqlteam.com/dmauri/comments/commentRss/8825.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>