<?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 'Video' and 'nugget'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=Video,nugget&amp;orTags=0</link><description>Search results matching tags 'Video' and 'nugget'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>SSIS gotcha: Beware of multiple outputs from a synchronous script component</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/07/04/ssis-gotcha-beware-of-multiple-outputs-from-a-synchronous-script-component.aspx</link><pubDate>Sun, 04 Jul 2010 20:43:12 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26727</guid><dc:creator>jamiet</dc:creator><description>&lt;p&gt;A few days ago I was &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/c0f2b376-66a3-49d8-8925-ada9a362ba53/?prof=required" target="_blank"&gt;alerted&lt;/a&gt; to a peculiarity of SSIS’s Script Component that I believe people need to be aware of. Its a peculiarity that can rear its head when your script component is &lt;strong&gt;synchronous and has multiple outputs&lt;/strong&gt;. Here’s an example of a dataflow that contains such a component:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_71055C17.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" class="wlDisabledImage" title="ssis dataflow with a script component with multiple synchronous outputs" border="0" alt="ssis dataflow with a script component with multiple synchronous outputs" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_12A184E9.png" width="596" height="312" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Some things to note about this dataflow that you can’t tell from this screenshot:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The source component will create a 1-row,1-column dataset with the value “1” in it&lt;/li&gt;    &lt;li&gt;Even though it has three outputs “SCR Send data to multiple outputs” is still a synchronous component*&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;*If you don’t understand how a synchronous component can have multiple outputs and/or have never heard of an Exclusion Group then you should go and read my blog post from 2005 &lt;/em&gt;&lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/2005/09/05/SSIS-Nugget_3A00_-Multiple-outputs-from-a-synchronous-script-transform.aspx" target="_blank"&gt;&lt;em&gt;Multiple outputs from a synchronous script transform&lt;/em&gt;&lt;/a&gt;&lt;em&gt; – the blog post you’re reading right now won’t make much sense without it! If you have ever used the Multicast component then it shouldn’t surprise you that a synchronous component can have multiple outputs – because that’s a pretty good definition of what the Multicast component does!&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Here’s the important code inside “SCR Send data to multiple outputs”:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_055AFBD6.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" class="wlDisabledImage" title="script component code multiple outputs" border="0" alt="script component code multiple outputs" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_5D484CB6.png" width="592" height="198" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The code:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;increments the incoming value and puts it into Output0&lt;/li&gt;    &lt;li&gt;increments the value again and puts it into Output1&lt;/li&gt;    &lt;li&gt;increments the value again and puts it into Output2&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Given that out starting value is “1” you might expect that our three outputs would contain the values “2”, “3” &amp;amp; “4” respectively but in fact that is not the case. Here is what we actually see in those three outputs when we execute the dataflow:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_0984D39B.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" class="wlDisabledImage" title="SSIS data viewers, multiple outputs" border="0" alt="SSIS data viewers, multiple outputs" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_07D407C7.png" width="475" height="175" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://sqlblog.com/blogs/jamie_thomson/image_054AD609.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" class="wlDisabledImage" title="ssis executed dataflow" border="0" alt="ssis executed dataflow" src="http://sqlblog.com/blogs/jamie_thomson/image_thumb_428B8AD0.png" width="595" height="302" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Each of our outputs has the same value “4”. Why is that? The trick is in understanding something fundamental about synchronous components, &lt;em&gt;they only ever output the same number of rows as are input&lt;/em&gt;.&amp;#160; The fact that in the data flow above it appears as though three rows have been output is simply an illusion that is best explained by former SSIS Development Manager Kirk Haselden who left the following comment on my &lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/2005/09/05/SSIS-Nugget_3A00_-Multiple-outputs-from-a-synchronous-script-transform.aspx" target="_blank"&gt;blog post&lt;/a&gt; that I linked to earlier:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The additional or duplicate rows are an illusion. The Dataflow Task actually tracks what buffer columns and rows are visible to the downstream transforms, but doesn't copy any buffers or rows. It simply &amp;quot;exposes&amp;quot; them with row and column views.        &lt;br /&gt;Truly, the synchronous outputs only send the same number of columns* as they receive on their inputs.         &lt;br /&gt;&lt;/em&gt;&lt;em&gt;- Kirk Haselden, 15th March 2006       &lt;br /&gt;&lt;font size="1"&gt;*This is a typo. Kirk meant to say “rows” not “columns”&lt;/font&gt;&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In our case the script component has simply incremented the same value three times and we are looking at that same incremented value of “4” in each of our outputs.&lt;/p&gt;  &lt;p&gt;I have produced a short video that demonstrates this behaviour using the dataflow pictured above. Embedding videos here on SQLBlog is however a fiddly experience so for ease I’ll just direct you to view it on Vimeo at &lt;a href="http://vimeo.com/13081087" target="_blank"&gt;Multiple Outputs from a synchronous script component&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Hope this helps. Any questions please put them in the comments.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://twitter.com/jamiet" target="_blank"&gt;@JamieT&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Parsing flat files using SSIS : SSIS Nugget</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/03/24/parsing-flat-files-using-ssis-ssis-nugget.aspx</link><pubDate>Wed, 24 Mar 2010 23:11:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:23716</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;Often when using SQL Server Integration Services (SSIS) you will find there is more than one way of accomplishing a task and that the most obvious method of doing so might not be the optimal one. In the video below I demonstrate this by way of an experiment using SSIS’s Flat File Source component; I show different ways that you can pull data from a flat file into the SSIS dataflow and also how the nature of the data itself can influence your choice as to how this task should be accomplished.&lt;/P&gt;
&lt;OBJECT&gt;
&lt;embed style="WIDTH:600px;HEIGHT:450px;" src="http://vimeo.com/moogaloop.swf?clip_id=10417434&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"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;If you are having trouble viewing the video in your blog reader then head to&amp;nbsp;&lt;/EM&gt;&lt;A href="http://sqlblog.com/blogs/jamie_thomson/archive/2010/03/25/parsing-flat-files-using-ssis-ssis-nugget.aspx"&gt;&lt;EM&gt;http://sqlblog.com/blogs/jamie_thomson/archive/2010/03/25/parsing-flat-files-using-ssis-ssis-nugget.aspx&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;&amp;nbsp;to see it as it is hosted on my blog!&lt;/EM&gt;&amp;nbsp;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The main point I want to get across from this video is that a little bit of creative thinking when building your dataflows can sometimes be very beneficial for performance; quite often building a solution that isn’t the most obvious might actually turn out to be the best one.&lt;/P&gt;
&lt;P&gt;You’ll notice, if you have watched the video, that my editing skills weren’t quite up to snuff and I cut off the final few words however all I was saying was that if you have any feedback on this video then I would love to hear it either via email or preferably the comments section below. I hope this turns out to be useful to some of you.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://twitter.com/jamiet" target=_blank&gt;@Jamiet&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;P.S. Incidentally the parsing that we do using SSIS expressions in the video would be much easier if we had a TOKENISE function in SSIS’s expression language and I have asked for the introduction of such a function on Connect at &lt;A href="https://connect.microsoft.com/SQLServer/feedback/details/543945/ssis-token-string-tokeniser-string-occurence-function" target=_blank&gt;[SSIS] TOKEN(string, tokeniser_string, occurence) function&lt;/A&gt;. Feel free to go and vote that up if you think this feature would be useful!&lt;/P&gt;</description></item><item><title>Destination Adapter Comparison : SSIS Video Nugget</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/03/02/destination-adapter-comparison-ssis-video-nugget.aspx</link><pubDate>Tue, 02 Mar 2010 12:11:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22728</guid><dc:creator>jamiet</dc:creator><description>
&lt;p&gt;In this, my latest video nugget, I demonstrate and compare three ways that you can insert data into a SQL Server table from the SSIS DataFlow:&lt;/p&gt;
  
&lt;ul&gt;   
&lt;li&gt;OLE DB Destination without Fast Load &lt;/li&gt;
    
&lt;li&gt;OLE DB Destination with Fast Load &lt;/li&gt;
    
&lt;li&gt;SQL Server Destination &lt;/li&gt;
 &lt;/ul&gt;
  
&lt;p&gt;The demo peels back the covers to see how these three methods actually operate against the database. The video is embedded below however at the time of writing we are still having issues with getting videos to show up on SQLBlog meaning that the video may appear too small to view hence in the meantime I’ll refer you to view the video on Vimeo at &lt;a href="http://vimeo.com/9806121" title="http://vimeo.com/9806121"&gt;http://vimeo.com/9806121&lt;/a&gt; (it is 7m19s long).&lt;/p&gt;
  
&lt;p&gt;If after watching this you want to know any more then you may glean some useful information from my blog post &lt;a href="http://consultingblogs.emc.com/jamiethomson/archive/2006/08/14/SSIS_3A00_-Destination-Adapter-Comparison.aspx" target="_blank"&gt;SSIS: Destination Adapter Comparison&lt;/a&gt; from August 2006 or feel free to post any questions in the comments below and I’ll do my best to answer them! &lt;/p&gt;
  
&lt;p&gt;Hope this is useful!&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=9806121&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;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://sqlblog.com/controlpanel/blogs/" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://sqlblog.com/controlpanel/blogs/" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://vimeo.com/moogaloop.swf?clip_id=9806121&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" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://sqlblog.com/controlpanel/blogs/" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;&lt;a href="http://sqlblog.com/controlpanel/blogs/" class="onxldjuucmcshidmscok"&gt;&lt;/a&gt;</description></item><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>Looping over SQL scripts and executing them : SSIS video nugget</title><link>http://sqlblog.com/blogs/jamie_thomson/archive/2010/02/24/looping-over-sql-scripts-and-executing-them-ssis-video-nugget.aspx</link><pubDate>Wed, 24 Feb 2010 23:02:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:22604</guid><dc:creator>jamiet</dc:creator><description>&lt;P&gt;Earlier today while surfing the &lt;A href="http://social.msdn.microsoft.com/forums/en-US/sqlintegrationservices/threads/" target=_blank&gt;SSIS forum on MSDN&lt;/A&gt; I noticed a question that asked &lt;A href="http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/8765da99-edc4-4b64-a2dc-952da8a68c42" target=_blank&gt;how one could execute a series of .sql files using SSIS&lt;/A&gt;. One suggested approach was to read the contents of the file(s) into a variable using a Script Task and then execute the contents of that variable using an Execute SQL Task. Well, that would work but there is actually a much quicker and easier way and given that at least two people on that thread didn’t know about it I thought it might be worth putting together a little demo.&lt;/P&gt;
&lt;P&gt;I’ve produced a video, embedded below, that demonstrates this technique. Quite simply it loops over the .sql files in question and points the Execute SQL Task &lt;I&gt;directly&lt;/I&gt; at those files which saves us from having to read the file contents into a variable. The video is 5m31s long:&lt;/P&gt;&lt;EMBED style="WIDTH:600px;HEIGHT:450px;" src=http://vimeo.com/moogaloop.swf?clip_id=9714659&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"&gt; 
&lt;P&gt;If the video is not showing up for whatever reason then you can go and view it over at &lt;A title=http://vimeo.com/9714659 href="http://vimeo.com/9714659" target=_blank&gt;http://vimeo.com/9714659&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;That’s it, hope it was useful! Over on &lt;A href="http://consultingblogs.emc.com/jamiethomson/" target=_blank&gt;my old blog&lt;/A&gt; I used to produce a lot of these how-to blog posts and I termed them &lt;A href="http://consultingblogs.emc.com/jamiethomson/archive/tags/SSIS/Nugget/default.aspx" target=_blank&gt;SSIS Nuggets&lt;/A&gt; – I liked the connotation of them being bite-sized bits of info that you could easily consume. I’d like to get back into producing SSIS nuggets and I reckon that videos like this could be a useful way of communicating them. Does that sound like a good idea? Let me know in the 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;P&gt;&amp;nbsp;&lt;/P&gt;</description></item></channel></rss>