<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.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>Search results matching tags 'ssis' and 'XML'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=ssis,XML&amp;orTags=0</link><description>Search results matching tags 'ssis' and 'XML'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Outputting data to an XML file : SSIS video nugget</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/02/27/outputting-data-to-an-xml-file-ssis-video-nugget.aspx</link><pubDate>Sat, 27 Feb 2010 16:53:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22647</guid><dc:creator>jamiet</dc:creator><description>
&lt;p&gt;The last &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/tags/nugget/video/default.aspx" target="_blank"&gt;video nugget&lt;/a&gt; that I produced seemed to be &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2010/02/25/looping-over-sql-scripts-and-executing-them-ssis-video-nugget.aspx#comments" target="_blank"&gt;fairly well received&lt;/a&gt; so I thought I would attempt a few more; and indeed, here is the next one. In this video I demonstrate a simple technique for outputting data to an XML file using SSIS’s Script Task.&lt;/p&gt;
  
&lt;p&gt;The video is 8m22s long and is embedded below however I’m aware of some problems that we are having, at the time of writing, with embedding of videos here on SQLBlog so for the time being head over to &lt;a href="http://vimeo.com/9781950" title="http://vimeo.com/9781950"&gt;http://vimeo.com/9781950&lt;/a&gt; where it can be viewed.&lt;/p&gt;
  
&lt;p&gt;If you are so inclined I have made the package that I built whilst recording this demonstration available &lt;a href="http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20100227/Output%20data%20to%20an%20XML%20file%20using%20SSIS.zip" target="_blank"&gt;on my SkyDrive&lt;/a&gt; for your reference.&lt;/p&gt;
  
&lt;p&gt;I look forward to your comments.&lt;/p&gt;
  
&lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;
 
&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9781950&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" allowfullscreen="true" style="width:600px;height:450px;"&gt;</description></item><item><title>SSIS Package Stats Collector version 2</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2009/11/06/ssis-package-stats-collector-version-2.aspx</link><pubDate>Sat, 07 Nov 2009 01:58:24 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18599</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;A few weeks ago I published a blog entitled &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2009/10/18/collecting-information-about-your-ssis-packages-ssis-nugget.aspx"&gt;Collecting information about your SSIS packages&lt;/a&gt; which demonstrated a way that you could use T-SQL and XQuery to derive information about your SSIS packages. Since then I’ve made a few amendments to the script that accompanied that blog post as follows:&lt;/p&gt;  &lt;h4&gt;New columns&lt;/h4&gt;  &lt;p&gt;The collected data now includes the following information about your packages:    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; PackageId     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; PackageXML&amp;#160; (The XML that forms the .dtsx file)     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NumberOfContainers     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NumberOfDataflows     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NumberOfConnectionManagers     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; NumberOfVariablesInEntirePackage&lt;/p&gt;  &lt;h4&gt;New feature&lt;/h4&gt;  &lt;p&gt;Returns a list of non-unique GUIDs and the packages that they appear in. If a GUID appears more than once in the same package it tells us how many times&lt;/p&gt;  &lt;h4&gt;Bug fixes&lt;/h4&gt;  &lt;p&gt;If there were no tasks in the package no data would be returned. That is now no longer the case.    &lt;br /&gt;Previous version didn’t work on case-sensitive collations, should be OK now.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There are also more comments liberally sprinkled around it now as well!&lt;/p&gt;  &lt;p&gt;Here’s a screenshot showing some of those new columns:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_53C348EA.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_32BFB076.png" width="846" height="212" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Returning [PackageId] as a field is an important addition because we can now very easily see if any of our packages share the same Package Id. Package IDs are supposed to be unique but if they are not then they are a problem waiting to happen and unfortunately Business Intelligence Design Studio (BIDS) doesn’t really protect you against it very well,&amp;#160; in fact if you use package templates then its very likely that you have non unique GUIDs somewhere. (“Non unique globally unique identifiers” – that should set the alarm bells ringing if nothing else).&lt;/p&gt;  &lt;p&gt;As alluded to above the script now returns a brand new dataset showing all the GUIDs that occur more than once across all of your packages. Now, I’m not just talking about PackageId GUIDs here, every single object in a SSIS package be it a task, container, component, variable, connection manager, column, whatever… has a GUID attached to it and given the healthy amount of copy-and-paste that goes on when developing SSIS packages its a sure bet that some of those GUIDs are going to get repeated somewhere. Of course, its up to you whether you want to do anything about it or not – if you’re a purist then the idea of repeated GUIDs might keep you awake at night although I suspect most people simply won’t care. Still, its there if you need it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0DFE7332.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_37B1C858.png" width="918" height="223" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You may wonder why I have the [NumberOfTimeshisGUIDOccursInThisPackage] column in there. Well, its perfectly plausible that the a GUID can reoccur in the same package and in fact when I was testing this earlier on today I had a package that had 6 occurrences of a GUID because it contained 6 near-identical connection managers that had obviously been copied-and-pasted.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That’s it for now. Let me know if this script proves useful to you and let me know if there’s anything you’d like to see added to it. Download the latest version from: &lt;a title="http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091105/SSISPackageStatsCollector%5E_v2.sql" href="http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091105/SSISPackageStatsCollector%5E_v2.sql"&gt;http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091105/SSISPackageStatsCollector%5E_v2.sql&lt;/a&gt;. I have also dropped it into &lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/tags/sqlmesh/default.aspx"&gt;SQLMesh&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Looking forward to some feedback (hint hint).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet"&gt;@Jamiet&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Collecting information about your SSIS packages [SSIS Nugget]</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2009/10/18/collecting-information-about-your-ssis-packages-ssis-nugget.aspx</link><pubDate>Sun, 18 Oct 2009 21:08:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:17904</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;Did you know that is is possible to read the contents of a SSIS package (i.e. a .dtsx file) from within SQL Server Management Studio (SSMS) using T-SQL? For example, take the following T-SQL snippet:&lt;/p&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id="codeSnippet"&gt;&lt;span style="COLOR:#0000ff;"&gt;select&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;cast&lt;/span&gt;(BulkColumn &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; XML)&lt;br&gt;&lt;span style="COLOR:#0000ff;"&gt;from&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;openrowset&lt;/span&gt;(&lt;span style="COLOR:#0000ff;"&gt;bulk&lt;/span&gt; &lt;span style="COLOR:#006080;"&gt;'C:\tmp\MyPkg.dtsx'&lt;/span&gt;,&lt;br&gt;                        single_blob) &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; pkgColumn;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;
&lt;p&gt;It uses &lt;a href="http://msdn.microsoft.com/en-us/library/ms190312.aspx"&gt;OPENROWSET&lt;/a&gt; to return the contents of a specified package (&lt;font face="Courier New"&gt;C:\tmp\MyPkg.dtsx&lt;/font&gt;) as an XML document. Here is a screenshot showing what this returns:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_597DE8D8.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_38AC90D5.png" style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="dtsx package XML ssis" alt="dtsx package XML ssis" height="81" width="353" border="0"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;and clicking on that result opens up the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_70F0294F.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5D8A05B4.png" style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="dts package xml screenshot ssis" alt="dts package xml screenshot ssis" height="291" width="802" border="0"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;That’s what the inards of a .dtsx file look like. In other words we now have a queryable XML document representing a package, thereafter you’re limited only to what you can do with XQuery which is quite a lot. Now, I’m no XQuery expert by any means but I did manage to find a few uses for this. Here are some sample queries:&lt;/p&gt;
&lt;h3&gt;All properties of a package&lt;/h3&gt;
&lt;div&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id="codeSnippet"&gt;&lt;span style="COLOR:#0000ff;"&gt;SELECT&lt;/span&gt;    Props.Prop.query(&lt;span style="COLOR:#006080;"&gt;'.'&lt;/span&gt;)                                                        &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; PropXml&lt;br&gt;,        Props.Prop.&lt;span style="COLOR:#0000ff;"&gt;value&lt;/span&gt;(&lt;span style="COLOR:#006080;"&gt;'declare namespace p1="www.microsoft.com/SqlServer/Dts";&lt;br&gt;                            string(./@p1:Name)'&lt;/span&gt;,&lt;span style="COLOR:#006080;"&gt;'nvarchar(max)'&lt;/span&gt;)                    &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; PropName&lt;br&gt;,        Props.Prop.&lt;span style="COLOR:#0000ff;"&gt;value&lt;/span&gt;(&lt;span style="COLOR:#006080;"&gt;'.'&lt;/span&gt;, &lt;span style="COLOR:#006080;"&gt;'nvarchar(max)'&lt;/span&gt;)                                        &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; PropValue&lt;br&gt;&lt;span style="COLOR:#0000ff;"&gt;FROM&lt;/span&gt;    (&lt;br&gt;        &lt;span style="COLOR:#0000ff;"&gt;SELECT&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;CAST&lt;/span&gt;(pkgblob.BulkColumn &lt;span style="COLOR:#0000ff;"&gt;AS&lt;/span&gt; XML) pkgXML&lt;br&gt;        &lt;span style="COLOR:#0000ff;"&gt;FROM&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;OPENROWSET&lt;/span&gt;(&lt;span style="COLOR:#0000ff;"&gt;bulk&lt;/span&gt; &lt;span style="COLOR:#006080;"&gt;'C:\tmp\MyPkg.dtsx'&lt;/span&gt;,single_blob) &lt;span style="COLOR:#0000ff;"&gt;AS&lt;/span&gt; pkgblob&lt;br&gt;        ) t&lt;br&gt;&lt;span style="COLOR:#0000ff;"&gt;CROSS&lt;/span&gt;    APPLY pkgXML.nodes(&lt;span style="COLOR:#006080;"&gt;'declare namespace DTS="www.microsoft.com/SqlServer/Dts";&lt;br&gt;                        /DTS:Executable/DTS:Property'&lt;/span&gt;) Props(Prop)&lt;br&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_172F3050.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_22EEBA46.png" style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="dtsx properties xml ssis" alt="dtsx properties xml ssis" height="207" width="820" border="0"&gt;&lt;/a&gt; &lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;i&gt;I had &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sqlxml/thread/871099bf-532a-4eab-b8ed-f96d701fe6da"&gt;a lot of help&lt;/a&gt; from &lt;/i&gt;&lt;a href="http://twitter.com/rbarryyoung"&gt;&lt;i&gt;@rbarryyoung&lt;/i&gt;&lt;/a&gt;&lt;i&gt; with this one!&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3&gt;Name and type of every task in a package&lt;/h3&gt;
&lt;div id="codeSnippetWrapper"&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id="codeSnippet"&gt;&lt;span style="COLOR:#0000ff;"&gt;SELECT&lt;/span&gt;    Pkg.props.&lt;span style="COLOR:#0000ff;"&gt;value&lt;/span&gt;(&lt;span style="COLOR:#006080;"&gt;'declare namespace p1="www.microsoft.com/SqlServer/Dts";&lt;br&gt;                            ./p1:Property[@p1:Name='&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'ObjectName'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'][1]'&lt;/span&gt;,&lt;span style="COLOR:#006080;"&gt;'nvarchar(max)'&lt;/span&gt;) &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; TaskName&lt;br&gt;,        Pkg.props.&lt;span style="COLOR:#0000ff;"&gt;value&lt;/span&gt;(&lt;span style="COLOR:#006080;"&gt;'declare namespace p1="www.microsoft.com/SqlServer/Dts";&lt;br&gt;                            ./@p1:ExecutableType'&lt;/span&gt;,&lt;span style="COLOR:#006080;"&gt;'nvarchar(max)'&lt;/span&gt;) &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; TaskType&lt;br&gt;&lt;span style="COLOR:#0000ff;"&gt;FROM&lt;/span&gt;    (&lt;br&gt;        &lt;span style="COLOR:#0000ff;"&gt;select&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;cast&lt;/span&gt;(pkgblob.BulkColumn &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; XML) pkgXML&lt;br&gt;        &lt;span style="COLOR:#0000ff;"&gt;from&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;openrowset&lt;/span&gt;(&lt;span style="COLOR:#0000ff;"&gt;bulk&lt;/span&gt; &lt;span style="COLOR:#006080;"&gt;'C:\tmp\Package.dtsx'&lt;/span&gt;,single_blob) &lt;span style="COLOR:#0000ff;"&gt;as&lt;/span&gt; pkgblob&lt;br&gt;        ) t&lt;br&gt;&lt;span style="COLOR:#0000ff;"&gt;CROSS&lt;/span&gt;    APPLY pkgXML.nodes(&lt;span style="COLOR:#006080;"&gt;'declare namespace DTS="www.microsoft.com/SqlServer/Dts";&lt;br&gt;                            //DTS:Executable[@DTS:ExecutableType!='&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'STOCK:SEQUENCE'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'&lt;br&gt;                        and    @DTS:ExecutableType!='&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'STOCK:FORLOOP'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'&lt;br&gt;                        and    @DTS:ExecutableType!='&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'STOCK:FOREACHLOOP'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'&lt;br&gt;                        and not(contains(@DTS:ExecutableType,'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'.Package.'&lt;/span&gt;&lt;span style="COLOR:#006080;"&gt;'))]'&lt;/span&gt;) Pkg(props)&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;
&lt;blockquote&gt;
&lt;div&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_004D0C7C.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_38A87CD6.png" style="BORDER-RIGHT-WIDTH:0px;DISPLAY:inline;BORDER-TOP-WIDTH:0px;BORDER-BOTTOM-WIDTH:0px;BORDER-LEFT-WIDTH:0px;" title="All tasks in a dtsx package file" alt="All tasks in a dtsx package file" height="232" width="524" border="0"&gt;&lt;/a&gt; &lt;/div&gt;&lt;/blockquote&gt;
&lt;div&gt;&lt;i&gt;Note that this one will also return all tasks that exist in eventhandlers and it ignores how “deep” a task is in the &lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/2004/12/13/445.aspx"&gt;container hierarchy&lt;/a&gt;.&lt;/i&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;h3&gt;Putting it all together&lt;/h3&gt;
&lt;div&gt;Ok, that’s all pretty cool but it would be nice to combine it all together and get a summary of many packages, perhaps all of the packages on your machine. Hence I’ve put together a T-SQL script that will display summary information about all of the packages in a folder and its subfolders. Here’s the results of running that script on my dev machine:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_43BCBFF1.png"&gt;&lt;img src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_082C1557.png" style="BORDER-BOTTOM:0px;BORDER-LEFT:0px;DISPLAY:inline;BORDER-TOP:0px;BORDER-RIGHT:0px;" title="ssis package statistics information" alt="ssis package statistics information" height="253" width="875" border="0"&gt;&lt;/a&gt; &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;
&lt;div&gt;217 packages – I’ve collected lot of them over the years! This shows a sampling of some of the information that it is possible to collect:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Package name &lt;/li&gt;
&lt;li&gt;Original creator of the package &lt;/li&gt;
&lt;li&gt;Package Type (signifies which version of BIDS was used to originally build it) &lt;/li&gt;
&lt;li&gt;Version numbers &lt;/li&gt;
&lt;li&gt;Number of tasks in the package &lt;/li&gt;&lt;/ul&gt;
&lt;div&gt;Want to know what your most complex package might be? Simply order this dataset in descending order of [NumberOfTasks]. Or maybe you want to know which of your developers has built the most packages – the answers are right here!&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Of course, this could be extended to capture much much more information than what I have captured here. You may want to know how many eventhandlers each of your packages has, when the packages were created, or perhaps how many components are in your dataflows. The (SSIS) world is your oyster!!!&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;One thing that I thought would be &lt;i&gt;very&lt;/i&gt; useful would be to stick this script into a SQL Agent job, run it on a daily basis, and insert the results into a history table thereby giving you a running history of all the packages in your system and when they changed. If anyone does do that let me know how it goes!&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;To execute the script simply open it and change the following line as appropriate:&lt;/div&gt;
&lt;div id="codeSnippetWrapper"&gt;
&lt;blockquote&gt;&lt;pre style="BORDER-BOTTOM-STYLE:none;TEXT-ALIGN:left;PADDING-BOTTOM:0px;LINE-HEIGHT:12pt;BORDER-RIGHT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;MARGIN:0em;PADDING-LEFT:0px;WIDTH:100%;PADDING-RIGHT:0px;FONT-FAMILY:'Courier New', courier, monospace;DIRECTION:ltr;BORDER-TOP-STYLE:none;COLOR:black;FONT-SIZE:8pt;BORDER-LEFT-STYLE:none;OVERFLOW:visible;PADDING-TOP:0px;" id="codeSnippet"&gt;&lt;span style="COLOR:#0000ff;"&gt;DECLARE&lt;/span&gt;    @&lt;span style="COLOR:#0000ff;"&gt;Path&lt;/span&gt;    &lt;span style="COLOR:#0000ff;"&gt;VARCHAR&lt;/span&gt;(2000) = &lt;span style="COLOR:#006080;"&gt;'C:\*.dtsx'&lt;/span&gt;;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;div&gt;Note that you will need to enable [xp_cmdshell] in order to run the script which&amp;nbsp; is available on my SkyDrive at:&lt;/div&gt;
&lt;div&gt;&lt;a href="http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091018/SSISPackageStatsCollector.sql" title="http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091018/SSISPackageStatsCollector.sql"&gt;http://cid-550f681dad532637.skydrive.live.com/self.aspx/Public/BlogShare/20091018/SSISPackageStatsCollector.sql&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;If you experience any problems with it let me know. If you adapt it any way let me know that too because writing these XQuery statements is no easy task (believe me!!!) and it would be great to share that stuff with other people!&lt;/div&gt;
&lt;p&gt;&lt;a href="http://twitter.com/jamiet"&gt;@JamieT&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Update: The original version of this script only worked on SQL Server 2008. I have now updated it so that it works on SQL2005 also! Thanks to Bruce in the comments for alerting me to this fact/&lt;/p&gt;
&lt;p&gt;Update 2: Found a few more issues and hence have uploaded another new version (same link still works though). Changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Script will now work on a server with a case-sensitive collation&lt;/li&gt;
&lt;li&gt;xp_cmdshell is turned on at the top of the script&lt;/li&gt;
&lt;li&gt;An error message that could get returned by the command-line call under certain circumstances wasn't getting handled. It is now!&lt;/li&gt;&lt;/ul&gt;Update 3: An updated version with bug fixes and new features is now available at &lt;a href="http://sqlblog.com/blogs/jamie_thomson/archive/2009/11/07/ssis-package-stats-collector-version-2.aspx"&gt;SSIS Package Stats Collector version 2
		
	&lt;/a&gt;</description></item><item><title>Recommended readings: 2008 update</title><link>http://sqlblog.com/blogs/kent_tegels/archive/2008/07/25/8044.aspx</link><pubDate>Fri, 25 Jul 2008 23:05:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:8044</guid><dc:creator>ktegels</dc:creator><description>&lt;P&gt;In class this week, I got asked a few times about the technical books I'd recommed for fulks interested in the data space. While I've had a list up on Amazon for while, I thought I'd post an updated list here. &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;I'd love to hear your suggestions, too!&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;Business Intelligence&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;Data Analysis Using SQL and Excel&lt;/U&gt;: Gordon S. Linoff&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Data Mining &amp;amp; Statistical Analysis Using SQL&lt;/U&gt;: John N. Lovett, Robert P. Trueblood&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Data Mining and Predictive Analysis: Intelligence Gathering and Crime Analysis &lt;/U&gt;: Culleen McCue&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Decision Support and Business Intelligence Systems&lt;/U&gt;: Efraim Turban, Jay E Aronson, Ting-Peng Liang, Ramesh Sharda&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Foundations of SQL Server 2005 Business Intelligence&lt;/U&gt;: Lynn Langit&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Hitchhiker's Guide to SQL Server 2000 Reporting Services&lt;/U&gt;: Peter Blackburn, William R. Vaughn&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Microsoft SQL Server 2005 Integration Services&lt;/U&gt;: Kirk Haselden&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Microsoft SQL Server 2005 Reporting Services 2005&lt;/U&gt;: Brian Larson&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Mining the Web: Discovering Knowledge from Hypertext Data&lt;/U&gt;: Soumen Chakrabarti &lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Report Builder &amp;amp; Report Models in Microsoft SQL Server 2005&lt;/U&gt;: Gerald Schinagl&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Text Mining: Predictive Methods for Analyzing Unstructured Information&lt;/U&gt;: Shulom M. Weiss, Nitin Indurkhya, Tong Zhang, Fred Damerau&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The Rational Guide to Scripting SQL Server 2005 Integration Services&lt;/U&gt;: Donald Farmer&lt;/LI&gt;&lt;/UL&gt;
&lt;H4&gt;General data and programming topics&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;Beautiful Code: Leading Programmers Explain How They Think&lt;/U&gt;: Andy Oram, Greg Wilson&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Code Complete: A Practical Handbook of Software Construction&lt;/U&gt;: Steve McConnell&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Database in Depth: Relational Theory for Practitioners&lt;/U&gt;: C.J. Date&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Joe Celko's Trees and Hierarchies in SQL for Smarties&lt;/U&gt;: Joe Celko&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Learning WCF: A Hands-on Guide&lt;/U&gt;: Michele Bustamante&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;LINQ Pocket Reference&lt;/U&gt;: Joseph Albahari, Ben Albahari&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Programming Cullective Intelligence: Building Smart Web 2.0 Applications&lt;/U&gt;: Toby Segaran &lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Programming Microsoft ADO.NET 2.0 Applications: Advanced Topics&lt;/U&gt;: Glenn Johnson&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Querying XML, : XQuery, XPath, and SQL/XML in context&lt;/U&gt;: Jim Melton&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The Pragmatic Programmer: From Journeyman to Master&lt;/U&gt;: Andrew Hunt, David Thomas&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;XQuery&lt;/U&gt;: Priscilla Walmsley&lt;/LI&gt;&lt;/UL&gt;
&lt;H4&gt;GIS and spatial topics&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;A to Z GIS: An Illustrated Dictionary of Geographic Information Systems&lt;/U&gt;: Shelly Sommer, Tasha Wade&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Designing Geodatabases: Case Studies in GIS Data Modeling&lt;/U&gt;: David Arctur, Michael Zeiler&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;GIS for Web Developers: Adding 'Where' to Your Web Applications&lt;/U&gt;: Scott Davis&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Measuring Up: The Business Case for GIS&lt;/U&gt;: Christopher Thomas, Milton Ospina&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Modeling Our World: The ESRI Guide to Geodatabase Design&lt;/U&gt;: Michael Zeiler&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The ESRI Guide to GIS Analysis: Vulume 2: Spatial Measurements and Statistics&lt;/U&gt;: Andy Mitchell&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The ESRI/University of Redlands Culloquium CD Set&lt;/U&gt;: Karen K Kemp&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The Geospatial Web: How Geobrowsers, Social Software and the Web 2.0 are Shaping the Network Society&lt;/U&gt;: Arno Scharl, Klaus Tochtermann&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Unlocking the Census with GIS&lt;/U&gt;: Alan Peters, Heather MacDonald&lt;/LI&gt;&lt;/UL&gt;
&lt;H4&gt;SQL Server&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;U&gt;A Developer's Guide to SQL Server 2005&lt;/U&gt;: Bob Beauchemin, Dan Sullivan&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Accelerated SQL Server 2008&lt;/U&gt;: Rob Walters&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Applied Microsoft Analysis Services 2005: And Microsoft Business Intelligence Platform&lt;/U&gt;: Teo Lachev&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Dissecting SQL Server Execution Plans&lt;/U&gt;: Grant Fritchey&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Expert SQL Server 2005 Integration Services&lt;/U&gt;: Brian Knight, Erik Veerman&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Inside Microsoft SQL Server 2005: Query Tuning and Optimization&lt;/U&gt;: Kalen Delaney, Sunil Agarwal, Craig Freedman, Ron Talmage, Adam Machanic&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;MCITP Developer: Microsoft SQL Server 2005 Database Sulutions Design&lt;/U&gt;: Victor Isakov&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Pro SQL Server 2005 Service Broker&lt;/U&gt;: Klaus Aschenbrenner&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;Professional SQL Server 2005 XML&lt;/U&gt;: Scott Klein&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;SQL Server 2005 Practical Troubleshooting: The Database Engine&lt;/U&gt;: Ken Henderson&lt;/LI&gt;
&lt;LI&gt;&lt;U&gt;The Rational Guide to SQL Server 2005 Service Broker &lt;/U&gt;: Roger Wulter&lt;/LI&gt;&lt;/UL&gt;</description></item><item><title>XML Data Type Methods and SSIS Package Variables</title><link>http://sqlblog.com/blogs/peter_debetta/archive/2006/12/18/XML-Data-Type-Methods-and-SSIS-Package-Variables.aspx</link><pubDate>Mon, 18 Dec 2006 19:31:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:435</guid><dc:creator>Peter DeBetta</dc:creator><description>&lt;P&gt;This is a&amp;nbsp;follow-up to a posting from several months ago (&lt;A id=bp___v___ctl00_ctl00_bcr_r___postlist___EntryItems_ctl10_PostTitle href="http://sqlblog.com/blogs/peter_debetta/archive/2006/07/13/Using_XML_Data_Type_Methods_to_query_SSIS_Packages.aspx"&gt;&lt;FONT color=#02469b&gt;Using XML Data Type Methods to query SSIS Packages&lt;/FONT&gt;&lt;/A&gt;). I included a temp table (based on information I found in the Microsoft.SqlServer.Dts.Runtime.VarTypeConvert class's constructor) which gives the conversion of the numeric data type value to the appropriate TypeCode (System.TypeCode). Thank goodness for &lt;A href="http://www.aisto.com/roeder/dotnet/"&gt;Lutz Roeder's Reflector&lt;/A&gt;. This code iterates through all the executables in the package and for all variables returns the following properties: Executable Scope,&amp;nbsp;Name, Namespace, Value, DataType (and data type description), EvaluateAsExpression, Expression, ReadOnly, RaiseChangedEvent, DTSID, Description, and CreationName. I am waiting on some confirmation about the property data types themselves (string lengths in particular) and will follow up as soon as I know more. In the meantime, here is the code. Be sure to change the package path to the location of your&amp;nbsp;package file before running...&lt;/P&gt;&lt;FONT color=#0000ff size=4&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;DECLARE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; @x &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New" size=2&gt;xml&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;CREATE&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;FONT color=#0000ff&gt;TABLE&lt;/FONT&gt; #t &lt;FONT color=#808080&gt;(&lt;/FONT&gt;PackageName &lt;FONT color=#0000ff&gt;varchar&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;100&lt;FONT color=#808080&gt;),&lt;/FONT&gt; PackageCode &lt;FONT color=#0000ff&gt;xml&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;SET&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; @X &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=#808080&gt;*&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;OPENROWSET&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;&amp;nbsp;&amp;nbsp; (&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;BULK&lt;/FONT&gt; N&lt;FONT color=#ff0000&gt;'C:\Projects\MyPackage.dtsx'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; SINGLE_BLOB&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Document&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;INSERT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #t &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt; &lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'MyPackage.dtsx'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; @x&lt;/FONT&gt;&lt;FONT color=#808080&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;CREATE&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;TABLE&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#808080&gt;(&lt;/FONT&gt;TypeID &lt;FONT color=#0000ff&gt;int&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; TypeName &lt;FONT color=#0000ff&gt;varchar&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;20&lt;FONT color=#808080&gt;))&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;INSERT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;0&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Empty'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;1&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'DBNull'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;2&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Int16'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;3&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Int32'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;4&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Single'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;5&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Double'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;6&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Decimal'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;7&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'DateTime'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;8&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'String'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;9&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Object'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;10&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Object'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;11&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Boolean'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;12&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Object'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;13&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Object'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;14&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Decimal'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;16&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'SByte'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;17&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Byte'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;18&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'UInt16'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;19&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'UInt32'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;20&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Int64'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;21&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'UInt64'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;22&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Int16'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;23&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'UInt16'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;INSERT&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;INTO&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;VALUES&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;24&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'Empty'&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;WITH&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;XMLNAMESPACES&lt;/FONT&gt; &lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'www.microsoft.com/SqlServer/Dts'&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;as&lt;/FONT&gt; p1&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'www.microsoft.com/SqlServer/Dts'&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;as&lt;/FONT&gt; DTS&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;)&lt;BR&gt;,&lt;/FONT&gt; Executables &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;AS&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&amp;nbsp;&amp;nbsp; &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=#ff0000&gt;''&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;as&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;varchar&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;100&lt;FONT color=#808080&gt;))&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ParentNodeName&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="ObjectName"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(100)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; NodeName&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;query&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'.'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; CurrentNode&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;query&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Executable'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ChildNodes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;1 &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#0000ff size=2&gt;Level&lt;BR&gt;&amp;nbsp;&amp;nbsp; FROM&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; #t &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#808080&gt;CROSS&lt;/FONT&gt; &lt;FONT color=#808080&gt;APPLY&lt;/FONT&gt; #t&lt;FONT color=#808080&gt;.&lt;/FONT&gt;PackageCode&lt;FONT color=#808080&gt;.&lt;/FONT&gt;nodes&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'/DTS:Executable'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; P&lt;FONT color=#808080&gt;(&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;)&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp; UNION&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; &lt;FONT color=#808080&gt;ALL&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp; SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;NodeName &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ParentNodeName&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="ObjectName"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(100)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; NodeName&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;query&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'.'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; CurrentNode&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;P&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;query&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Executable'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ChildNodes&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Level&lt;/FONT&gt; &lt;FONT color=#808080&gt;+&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt; 1&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; Executables &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#808080&gt;CROSS&lt;/FONT&gt; &lt;FONT color=#808080&gt;APPLY&lt;/FONT&gt; Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;ChildNodes&lt;FONT color=#808080&gt;.&lt;/FONT&gt;nodes&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'/DTS:Executable'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; P&lt;FONT color=#808080&gt;(&lt;/FONT&gt;Vars&lt;/FONT&gt;&lt;FONT color=#808080&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;BR&gt;,&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New"&gt;Variables &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; &lt;BR&gt;&lt;FONT color=#808080&gt;(&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT color=#0000ff&gt;SELECT&lt;/FONT&gt; Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;NodeName&lt;FONT color=#808080&gt;,&lt;/FONT&gt; Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Level&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="ObjectName"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(255)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; [Name]&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="Namespace"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(255)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; Namespace&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:VariableValue[1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(1024)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; [Value]&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:VariableValue[1]/@p1:DataType'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'int'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; DataType&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="Expression"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(1024)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; Expression&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="EvaluateAsExpression"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'bit'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; EvaluateAsExpression&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="ReadOnly"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'bit'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ReadOnly&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="RaiseChangedEvent"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'bit'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; RaiseChangedEvent&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="DTSID"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'uniqueidentifier'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; DTSID&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT face="Courier New" color=#808080&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="Description"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(255)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; Description&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" color=#808080 size=2&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Vars&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;value&lt;/FONT&gt;&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'./p1:Property[@p1:Name="CreationName"][1]'&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;'varchar(255)'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; CreationName&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt; Executables&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#808080&gt;CROSS&lt;/FONT&gt; &lt;FONT color=#808080&gt;APPLY&lt;/FONT&gt; Executables&lt;FONT color=#808080&gt;.&lt;/FONT&gt;CurrentNode&lt;FONT color=#808080&gt;.&lt;/FONT&gt;nodes&lt;FONT color=#808080&gt;(&lt;/FONT&gt;&lt;FONT color=#ff0000&gt;'/p1:Executable/p1:Variable'&lt;/FONT&gt;&lt;FONT color=#808080&gt;)&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; V&lt;FONT color=#808080&gt;(&lt;/FONT&gt;Vars&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#808080&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt;)&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;&lt;FONT face="Courier New" size=2&gt;SELECT&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;NodeName &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; ExecutableName&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;Level&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;[Name]&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Namespace&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;[Value]&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;DataType&lt;FONT color=#808080&gt;,&lt;/FONT&gt; TCC&lt;FONT color=#808080&gt;.&lt;/FONT&gt;TypeName&lt;/FONT&gt;&lt;FONT face="Courier New" color=#808080 size=2&gt;,&lt;BR&gt;&amp;nbsp; &amp;nbsp;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Expression&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;EvaluateAsExpression&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;ReadOnly&lt;FONT color=#808080&gt;,&lt;/FONT&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;RaiseChangedEvent&lt;FONT color=#808080&gt;, &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;DTSID&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;Description&lt;FONT color=#808080&gt;,&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;CreationName&lt;BR&gt;&lt;FONT color=#0000ff&gt;FROM&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; Variables &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; V&lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&lt;FONT size=2&gt;&lt;FONT color=#808080&gt;INNER&lt;/FONT&gt; &lt;FONT color=#808080&gt;JOIN&lt;/FONT&gt; #VarTypeCode &lt;FONT color=#0000ff&gt;AS&lt;/FONT&gt; TCC &lt;FONT color=#0000ff&gt;ON&lt;/FONT&gt; V&lt;FONT color=#808080&gt;.&lt;/FONT&gt;DataType &lt;FONT color=#808080&gt;=&lt;/FONT&gt; TCC&lt;FONT color=#808080&gt;.&lt;/FONT&gt;TypeID&lt;BR&gt;&lt;FONT color=#0000ff&gt;ORDER&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;BY&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;Level&lt;/FONT&gt;&lt;FONT color=#808080&gt;,&lt;/FONT&gt; NodeName&lt;FONT color=#808080&gt;,&lt;/FONT&gt; [Name]&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;DROP&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; &lt;FONT color=#0000ff&gt;TABLE&lt;/FONT&gt; #t&lt;/FONT&gt;&lt;/P&gt;&lt;FONT color=#0000ff&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;DROP&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size=2&gt; &lt;FONT color=#0000ff&gt;TABLE&lt;/FONT&gt; #VarTypeCode&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;--Peter&lt;/P&gt;&lt;p&gt;&lt;img src="http://sqlblog.com/ink/2.ashx?633020514275230000" /&gt;&lt;/p&gt;</description></item></channel></rss>