<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5019446838870469876</id><updated>2025-04-12T16:52:23.465+05:30</updated><category term="Control Flow"/><category term="Dataflow"/><category term="Transformation"/><category term="Advantages of SSIS"/><category term="Containers"/><category term="DENALI"/><category term="Expressions"/><category term="Loops"/><category term="SSIS"/><category term="Deployment"/><category term="Event Handlers"/><category term="Info"/><category term="Lookup"/><category term="MERGE"/><category term="MERGE JOIN and UNION ALL"/><category term="Others"/><category term="Running package"/><category term="SCD"/><category term="SSIS best practice"/><category term="SSMS"/><category term="Slowly Changing Dimensions"/><category term="Variables"/><category term="What is SSIS"/><category term="XML Source"/><category term="XML Task"/><title type='text'>Let&#39;s Learn SSIS</title><subtitle type='html'>What is SSIS ? lets learn..!!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-3454937576400039235</id><published>2012-01-21T19:39:00.001+05:30</published><updated>2012-08-14T00:04:50.675+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="SSIS"/><category scheme="http://www.blogger.com/atom/ns#" term="SSIS best practice"/><title type='text'>Top 10 SQL Server Integration Services Best Practices</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Check out this URL for best practices for SSIS&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://sqlcat.com/sqlcat/b/top10lists/archive/2008/10/01/top-10-sql-server-integration-services-best-practices.aspx&quot;&gt;http://sqlcat.com/sqlcat/b/top10lists/archive/2008/10/01/top-10-sql-server-integration-services-best-practices.aspx&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/3454937576400039235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2012/01/top-10-sql-server-integration-services.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/3454937576400039235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/3454937576400039235'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2012/01/top-10-sql-server-integration-services.html' title='Top 10 SQL Server Integration Services Best Practices'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-526080037923869904</id><published>2011-12-22T21:31:00.000+05:30</published><updated>2011-12-22T21:34:44.148+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dataflow"/><category scheme="http://www.blogger.com/atom/ns#" term="Info"/><category scheme="http://www.blogger.com/atom/ns#" term="Lookup"/><category scheme="http://www.blogger.com/atom/ns#" term="Transformation"/><title type='text'>Info: Sort and Merge Components vs. Lookup Component</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: large;&quot;&gt;&lt;span style=&quot;color: #741b47;&quot;&gt;&lt;strong&gt;Worth reading this article..&lt;/strong&gt;&lt;/span&gt;

&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: large;&quot;&gt;&lt;a href=&quot;http://consultingblogs.emc.com/jamiethomson/archive/2005/10/21/2289.aspx&quot;&gt;http://consultingblogs.emc.com/jamiethomson/archive/2005/10/21/2289.aspx&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;font size=&quot;5&quot; face=&quot;Verdana, sans-serif&quot;&gt;
&amp;lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&amp;gt;
&lt;/font&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/526080037923869904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/12/info-sort-and-merge-components-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/526080037923869904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/526080037923869904'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/12/info-sort-and-merge-components-vs.html' title='Info: Sort and Merge Components vs. Lookup Component'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-6224573960866353877</id><published>2011-09-27T14:42:00.001+05:30</published><updated>2011-12-17T17:34:59.425+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="SCD"/><category scheme="http://www.blogger.com/atom/ns#" term="Slowly Changing Dimensions"/><title type='text'>Learn SSIS : SCD - Slowly Changing Dimensions transformation</title><content type='html'>&lt;meta name=&quot;msvalidate.01&quot; content=&quot;456438FCC7BBEBF58E48FCAC921BA2BD&quot; /&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Slowly changing dimension transformation was one of the mystery transformation for me till now, as i never had chance to actually implement it. So today i block my time to implement this transformation by taking a simple example.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The concept of slowly changing dimension is explained very&amp;nbsp;well and in detail on wikipedia, i would request readers to have a look at below link if you are not aware of SCD concept.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Slowly_changing_dimension&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;http://en.wikipedia.org/wiki/Slowly_changing_dimension&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;Before starting on our example, let me give you some glance of the SCD&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&amp;nbsp;transformation provided in SSIS 2008. This transformation is used to implement Type 1 and Type 2 SCD, for other types we need to add some custom logic to our ETL. (Type 1: Identify the changes and update the record, no history will be recorded, Type 2: Any change identified we expire the old record and create new record with new values, here we save history information in old record)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;OK.. Lets take simple Employee dimension example... in this example i am getting EmployeeFeed.xls file as input for my DimEmployee table (which is my dimension table) and i am using SCD transformation&amp;nbsp;to identify any changes and implement DimEmployee as Type 2.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;DimEmployee :&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;Create&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;table&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; DimEmployee&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;EmpKey &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;identity&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; EmpId &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;int&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; Name &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;varchar&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; Designation &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;varchar&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; City &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;varchar&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; Phone &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;varchar&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; StartDate &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;datetime&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt; EndDate &lt;/span&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;datetime&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: blue; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: grey; font-size: x-small;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;So before we start implementing any SCD, we need to first identify attribute in the dimension table for which we need to track changes. In this example i want to track changes for &lt;em&gt;Designation, City and Phone&lt;/em&gt; attributes. I am expecting no change in &lt;em&gt;Name&lt;/em&gt; attribute or column. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;You might have noticed that&amp;nbsp;there are two columns EmpId and EmpKey why these columns are needed in dimension table??&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;&lt;strong&gt;Ans:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;EmpId : This is a Business Key, which uniquely identifies&amp;nbsp;a employee in entire data warehouse system.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;EmpKey : Is a&amp;nbsp;Surrogate key, which uniquely identifies record in dimension table, and also its a key to identify historical records.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;We also have two more columns StartDate and EndDate, these two&amp;nbsp;columns are used to track time of changes, if EndDate is null it means the record is most recent record in dimension table.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;Steps to Implement SCD in a data flow.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;1. After we add Source (which is excel in our case EmployeeFeed.xls), we need to add Data conversion transformation, to correct if there are any Data type conflicts.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana;&quot;&gt;2. Then we add SCD transformation to Data flow, and this will open SCD wizard, Click next on welcome screen.&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh27dLRHnkP2xtk3x9xjF4_pi7CQdPg7pw-QX-4p99Ehq39ot3-Sr6WaoHebiWoRPOTAKl40kOhGIZf_Ds3NotH98ZHPRnWQI8zB3c284ongW_1qnd11Hq__RN2ORezyTrpx0im7M85hT0/s1600/1.+FirstScreen.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh27dLRHnkP2xtk3x9xjF4_pi7CQdPg7pw-QX-4p99Ehq39ot3-Sr6WaoHebiWoRPOTAKl40kOhGIZf_Ds3NotH98ZHPRnWQI8zB3c284ongW_1qnd11Hq__RN2ORezyTrpx0im7M85hT0/s320/1.+FirstScreen.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;3. On Select a Dimensoin Table And Keys page, select your dimension table in this case its DimEmployee, Map all the columns from source excel to destination DimEmployee table. One important thing here we do is identify Business Key, which in our case is EmpID. Then click Next&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNTxNe_BJtQ2qbtnyGUmBbRtz95MiYuzz0ZTNnZI2pWBm-XSmJTc633KLoJmo6Wj6GEkSS8yYQ1s4jbx0kQMQCuvoYkC6y06lG70TLnA8JCFg3wHjLl6Y-EZ0QtzUph9LMBOQ3WI9ugh8/s1600/2.+SelectDimensionTableAndKeys.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNTxNe_BJtQ2qbtnyGUmBbRtz95MiYuzz0ZTNnZI2pWBm-XSmJTc633KLoJmo6Wj6GEkSS8yYQ1s4jbx0kQMQCuvoYkC6y06lG70TLnA8JCFg3wHjLl6Y-EZ0QtzUph9LMBOQ3WI9ugh8/s320/2.+SelectDimensionTableAndKeys.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&amp;nbsp;4. On Slowly changing dimension columns page, we need to select appropriate change type&amp;nbsp;of the Dimension Columns and here we have three types : &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Fixed Attribute--&amp;gt; No change expected&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Changing Attribute --&amp;gt; Changes are expected, but no need to record history, same record will be updated.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Historical Attribute--&amp;gt; If this attribute is changed, old record will be expired (by setting EndDate as current date) and new record will be inserted with new attribute value&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;In our example, we don&#39;t expect any change for Name Attribute hence we selected this as Fixed Attribute, and rest all (Phone,Designation and City ) will be selected as Historical Attribute. Once we are done Click Next&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS0ZEky6_JIosBDan_871B6DBN9shWdVyp8zlImdRHcEkn1UmxrcrcMtYqRMp2-s3vxpjQLlt4ZkPQOAuEBdLk2_CAqBb4fHyqYp9MQ1HKv4TSI46dlKx-f22_mP4bapDirmtigLxKKTw/s1600/3.+SCDColumns.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS0ZEky6_JIosBDan_871B6DBN9shWdVyp8zlImdRHcEkn1UmxrcrcMtYqRMp2-s3vxpjQLlt4ZkPQOAuEBdLk2_CAqBb4fHyqYp9MQ1HKv4TSI46dlKx-f22_mP4bapDirmtigLxKKTw/s320/3.+SCDColumns.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;5. On Historical Attribute&amp;nbsp;Options Screen, we have two option, we can use any&amp;nbsp;flag column to show which record is expired&amp;nbsp;and which is most recent and other option is to use StartDate and EndDate, in this example we are&amp;nbsp;using&amp;nbsp;second option,&amp;nbsp;and also&amp;nbsp;selected StartDate and EndDate column appropriately.&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAbbn7ToFGJtj7oB7sWdjPoeTKS0AsWKNfNOHreuil8VMjJQqxXzzCwUb0x_jYBX6W_xnGsogH55qKGhkrGeB-vwZbw2LL04-DVl-no_FO4wvMuyCr9s0TWC3q7Q65H4gtKMFCMPyQqmw/s1600/4.+Historical+Attributes.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAbbn7ToFGJtj7oB7sWdjPoeTKS0AsWKNfNOHreuil8VMjJQqxXzzCwUb0x_jYBX6W_xnGsogH55qKGhkrGeB-vwZbw2LL04-DVl-no_FO4wvMuyCr9s0TWC3q7Q65H4gtKMFCMPyQqmw/s320/4.+Historical+Attributes.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;6. For all other screens in this wizard just select&amp;nbsp;next, and on last&amp;nbsp;screen select Finish.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;That&#39;s it.. we implemented SCD transformation...your&amp;nbsp;data flow should look like as shown below.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOCx15gYr4waXX4kEIOrn_D0tzJrJMWTQZhOkaos7tlfOLSalG_uJQSEvl2b6hHd69r-YO44OJ2dxc_blDHfSglnvsqgY4p5HhIsIljl1Ab85Vk_MogrUgUdSwYNUK3lronkcvaHgHHOQ/s1600/DataFlow.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOCx15gYr4waXX4kEIOrn_D0tzJrJMWTQZhOkaos7tlfOLSalG_uJQSEvl2b6hHd69r-YO44OJ2dxc_blDHfSglnvsqgY4p5HhIsIljl1Ab85Vk_MogrUgUdSwYNUK3lronkcvaHgHHOQ/s320/DataFlow.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;If you have noticed, we have two outputs from SCD transformation, New Output and Historical Attribute Output. So if there are any new records which are not present in dimension table those records will be redirected to New Output, and all existing records with some changing attributes will be redirected to Historical Attribute output. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Running the data flow..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I have&amp;nbsp;&amp;nbsp;9 records in my sample EmployeeFeed.xls file..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJpRKkSUwIS90N3P_t_fYUB0bmksmEhPLSZifL4Z4l52lnUCqQJOgh4OToXY7VtCGIHtmuIJSW2wHIbpT-_NM5sQYCFuSjMI9IlbQv9TYHxqH4kFF1z5G29JKfsS6rlzLjXJeyBA1gRC4/s1600/EmpFeed1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;117&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJpRKkSUwIS90N3P_t_fYUB0bmksmEhPLSZifL4Z4l52lnUCqQJOgh4OToXY7VtCGIHtmuIJSW2wHIbpT-_NM5sQYCFuSjMI9IlbQv9TYHxqH4kFF1z5G29JKfsS6rlzLjXJeyBA1gRC4/s320/EmpFeed1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLV6I_SkWorNAyral-vONiHd3o7PkDlmAxCLyRup_vf1BCp4rmhyphenhyphenX2BMAp2v2XyElbsxdLmLSKRrR6c0zgz9h0PxePBXzMvnqlHuOMfLAV6p6I9GzalHzCZHfy_cM2Kc2pWGDv8_KTFkk/s1600/Run1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;238&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLV6I_SkWorNAyral-vONiHd3o7PkDlmAxCLyRup_vf1BCp4rmhyphenhyphenX2BMAp2v2XyElbsxdLmLSKRrR6c0zgz9h0PxePBXzMvnqlHuOMfLAV6p6I9GzalHzCZHfy_cM2Kc2pWGDv8_KTFkk/s320/Run1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;So when i run my data flow for first time, all these&amp;nbsp;9 records will be redirected to New Output&amp;nbsp; and will be inserted to DimEmployee Table.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Next, I did some changes in EmployeeFeed.xls, Changes are marked in yellow... so there are 4 records which are changed and 2 new records added.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht46O_MIrnsycd8SMIjJmhF0ni4b7jceJW5HVyZWnr-Nx14yK4dcppjqs4OBRGqoqf1HgbWK4UOR9t5EEBwfVA8hcH7pLfR8aPaYYBQmA7yJI3upuWMcDJOAQLqC2u1BYaeMtBxdlaXKg/s1600/EmpFeed2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht46O_MIrnsycd8SMIjJmhF0ni4b7jceJW5HVyZWnr-Nx14yK4dcppjqs4OBRGqoqf1HgbWK4UOR9t5EEBwfVA8hcH7pLfR8aPaYYBQmA7yJI3upuWMcDJOAQLqC2u1BYaeMtBxdlaXKg/s320/EmpFeed2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPEQZMJTk3KhQhGVrQbjvh2aeetd54uEyK1mnqshlmMSuKBPSBnUOOnXlU0LnkE8wzcVfMmZ5d2o9G-tJownARKtfL95V6pSG4k2KYq3M3cO9wPDStOQh7vHKXzcQSntPrDqNJ6h63mFc/s1600/Run2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjPEQZMJTk3KhQhGVrQbjvh2aeetd54uEyK1mnqshlmMSuKBPSBnUOOnXlU0LnkE8wzcVfMmZ5d2o9G-tJownARKtfL95V6pSG4k2KYq3M3cO9wPDStOQh7vHKXzcQSntPrDqNJ6h63mFc/s320/Run2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;If you can see the data flow, two records are redirected through New Output pipeline and 4 moved through Historical Attribute output, so what happens to those 4 records is we update the EndDate to latest date, then again insert them with new changed attrribute keeping EndDate as null. as shown below.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTbccXxjzJu_haQnr3aNdxD_7qbXHoR_EF76le6kfOUDB75mo9fYH7SR36SobPR7Cyg20Ke8A1MMzEO03m0cdtvdYkH_-WA4qO7I2uIZmC8Yj8uRVOVcYz8VMaQGKXZGFSnd3IIJKLr2Y/s1600/Final+Table.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTbccXxjzJu_haQnr3aNdxD_7qbXHoR_EF76le6kfOUDB75mo9fYH7SR36SobPR7Cyg20Ke8A1MMzEO03m0cdtvdYkH_-WA4qO7I2uIZmC8Yj8uRVOVcYz8VMaQGKXZGFSnd3IIJKLr2Y/s320/Final+Table.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;So that&#39;s it... hope you have learned something out of this ...&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Thanks...&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot; class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/6224573960866353877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-scd-slowly-changing.html#comment-form' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6224573960866353877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6224573960866353877'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-scd-slowly-changing.html' title='Learn SSIS : SCD - Slowly Changing Dimensions transformation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh27dLRHnkP2xtk3x9xjF4_pi7CQdPg7pw-QX-4p99Ehq39ot3-Sr6WaoHebiWoRPOTAKl40kOhGIZf_Ds3NotH98ZHPRnWQI8zB3c284ongW_1qnd11Hq__RN2ORezyTrpx0im7M85hT0/s72-c/1.+FirstScreen.png" height="72" width="72"/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-6173818093067519418</id><published>2011-09-21T19:49:00.000+05:30</published><updated>2011-09-22T13:33:18.684+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Expressions"/><title type='text'>Learn SSIS : Expressions in SSIS - Part 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;In my previous post i covered &lt;a href=&quot;http://letslearnssis.blogspot.com/2011/09/learn-ssis-event-handlers-variables.html&quot;&gt;Event handler&lt;/a&gt;, in this i will be covering Expressions, and&amp;nbsp;where we can actually set the&amp;nbsp;expressions to extend SSIS package&amp;nbsp;functionality.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;&lt;strong&gt;&lt;u&gt;Expressions&lt;/u&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Expressions are used to&amp;nbsp;set or&amp;nbsp;evaluate property values at run time in&amp;nbsp;SSIS package. It provides a great extending feature, based on runtime values or workflow status a property of Control flow or container or connection&amp;nbsp; manager can be set.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif; font-size: small;&quot;&gt;Expressions are made up of identifiers, literals, functions, and operators. These elements are evaluated by SSIS and return a single data value which is set as property value.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: EN-US;&quot;&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif; font-size: small;&quot;&gt;SSIS Expressions are made up of following functions or elements...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;Expressions are evaluated before the validation, and its a good feature evaluate properties of components in SSIS package at run time. A lot can be done usign expression and its out of scope of this blog post to cover all about expressions.&lt;/span&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;I hope this piece of information is usefull..&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;Thanks...&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;/div&gt;
&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;Mathematical Functions&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;The Mathematical Functions category provides support for complex arithmetic including logarithms, exponents, and absolute values. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;String Functions&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;String Functions provide support for the manipulation of character data. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;Date/Time Functions&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Date/Time Functions allow manipulation and processing of date and time data. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;NULL Functions&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;NULL Functions allow manipulation of NULL values. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;Type Casts&lt;/u&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Type Casts are functions that allow data to be changed from one type to another. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;&lt;u&gt;Operators &lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;Operators denote various mathematical or logical operations.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;Where actually Expressions are used?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;In SSIS Expressions can be used with below list of elements...&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;1. Derived Column Transformation&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcAG5dqyiPD2eRV69O_FhcQqqxJQzYZuOefAkuXY9KU_WjAG1HW3CVJcORl7niGaRmQLa2zh2ZsW9Xw7WajZSV-1yjfGglfYPrj8tqxNUP2ZuTjjwJYJxTaPVMbOKNNTO2XjdhXQ_5HsY/s1600/DerivedColumn.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;264&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcAG5dqyiPD2eRV69O_FhcQqqxJQzYZuOefAkuXY9KU_WjAG1HW3CVJcORl7niGaRmQLa2zh2ZsW9Xw7WajZSV-1yjfGglfYPrj8tqxNUP2ZuTjjwJYJxTaPVMbOKNNTO2XjdhXQ_5HsY/s320/DerivedColumn.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;2. Conditional Split Transformation&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGOWYkOooFkanG8_SdFPNZ-LU9ZzRZtNgGKpfzUUV54jlykJlwGPtsCg-EMxPyaXMGOUqQc-hTzvmmx3irQlnoFGKPMe0tk0VZd0Ac4rXrf8JAqQmJHV3kMqhqjRhlww3HuKx70FD6tik/s1600/ConditionalSplit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;309&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGOWYkOooFkanG8_SdFPNZ-LU9ZzRZtNgGKpfzUUV54jlykJlwGPtsCg-EMxPyaXMGOUqQc-hTzvmmx3irQlnoFGKPMe0tk0VZd0Ac4rXrf8JAqQmJHV3kMqhqjRhlww3HuKx70FD6tik/s320/ConditionalSplit.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;3. For Loop Container&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih0BI5cVc7o3HptvMnXFOoALqATwBzT5Oieg3AbHx27AsznRrCQ16IPCnX2aL9fZ9lj5dmQ_gR8f0YoT_O3Ynfe3fGWiRs9HN-CTZDEJoQKTj81tqdZSeCTiyzexnBwUzHm_CsScTqUL4/s1600/ForLoop.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEih0BI5cVc7o3HptvMnXFOoALqATwBzT5Oieg3AbHx27AsznRrCQ16IPCnX2aL9fZ9lj5dmQ_gR8f0YoT_O3Ynfe3fGWiRs9HN-CTZDEJoQKTj81tqdZSeCTiyzexnBwUzHm_CsScTqUL4/s320/ForLoop.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;4. Precedence Constraints&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZO4p5IkjBZLVC5kSD0EkJ82L1zxgLqQlum3KMll6Ks5YPvQogSsF0NpUF5xixhn1C6IV45dwsvVni-ZjnCR54YkGMj764F3KiKWYwumk6uqraCmmmtav6-riVj9zOAzjg3hxJ2ij66_8/s1600/PrecedenceConstraint.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;239&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZO4p5IkjBZLVC5kSD0EkJ82L1zxgLqQlum3KMll6Ks5YPvQogSsF0NpUF5xixhn1C6IV45dwsvVni-ZjnCR54YkGMj764F3KiKWYwumk6uqraCmmmtav6-riVj9zOAzjg3hxJ2ij66_8/s320/PrecedenceConstraint.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Verdana&amp;quot;, &amp;quot;sans-serif&amp;quot;;&quot;&gt;5. Properties &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK_9e2Qp9BTt7vKuwMyILQOjuz1XAm4oCD8IYgexkE2SGVHduXsfTTvAETo_CE-jAbG7IMxqylnqTnHmZOxqyz4mTd4BizPGea5KWeLuA0zg74A3J9HuLG5jDqte8TMF1rXK1CMBP1vtI/s1600/Properties.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhK_9e2Qp9BTt7vKuwMyILQOjuz1XAm4oCD8IYgexkE2SGVHduXsfTTvAETo_CE-jAbG7IMxqylnqTnHmZOxqyz4mTd4BizPGea5KWeLuA0zg74A3J9HuLG5jDqte8TMF1rXK1CMBP1vtI/s1600/Properties.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/6173818093067519418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-expressions-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6173818093067519418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6173818093067519418'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-expressions-part-2.html' title='Learn SSIS : Expressions in SSIS - Part 2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcAG5dqyiPD2eRV69O_FhcQqqxJQzYZuOefAkuXY9KU_WjAG1HW3CVJcORl7niGaRmQLa2zh2ZsW9Xw7WajZSV-1yjfGglfYPrj8tqxNUP2ZuTjjwJYJxTaPVMbOKNNTO2XjdhXQ_5HsY/s72-c/DerivedColumn.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-7458581376968921263</id><published>2011-09-14T14:34:00.000+05:30</published><updated>2011-09-22T13:33:37.619+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Event Handlers"/><category scheme="http://www.blogger.com/atom/ns#" term="Expressions"/><category scheme="http://www.blogger.com/atom/ns#" term="Variables"/><title type='text'>Learn SSIS : Event handlers, variables, expressions in SSIS - Part 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span style=&quot;color: #3d85c6;&quot;&gt;SSIS is not just about control flows and dataflows, there are other options available in SSIS which extends functionality of SSIS package, and provides a great flexibility in desiging a successfull ETL solution. Lets take a deep insight of what are those options and how we can take benefit of them.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;There are four options which extends functionality of SSIS packages.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;1. Event Handlers&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;2. Variables&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;3. Expressions&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;4. SQL Queries&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;In this post i will be covering Event handlers, and in later series i will cover Variables, Expressions and SQL queries&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;u&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Event Handlers:&lt;/span&gt;&lt;/u&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Like any programming languages (C# or JAVA) SSIS also provides Event handlers, which provides functionality of performing some task on a specific event during runtime. At runtime of any SSIS task, series of event takes place, and SSIS Desginer has provided with one tab (Event Handler) to program any action that can be performed on occurance of that event.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Event handlers are created in the same manner as control flow but in different tab as shown.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc3YCT1xjdQt9Cx1VjT81sN_sBXTm6DD2LwD4lbfri1XusmUIvOy_V-6X1McCQRy9H7KTX_1DA3W57pZVazFBblgPsDEYRP6MqPmdB18bnQM7sPP9GAvGUAOlNbeKKMiZxV5HgidVoSic/s1600/EventHandler1.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;256&quot; rba=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc3YCT1xjdQt9Cx1VjT81sN_sBXTm6DD2LwD4lbfri1XusmUIvOy_V-6X1McCQRy9H7KTX_1DA3W57pZVazFBblgPsDEYRP6MqPmdB18bnQM7sPP9GAvGUAOlNbeKKMiZxV5HgidVoSic/s400/EventHandler1.JPG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;How we create events?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Its as simple as creating control flow of package.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;1. Select the executable container to which the handler will be assigned.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;2. Select the event to which you wish the event handler to react to.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;3. Drag control flow container and task and connect them together with precedence constraints.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;How Events are actually gets handled in SSIS?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;Events can be handled at task or container or package level, following is the order it will be handled.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;1. Task&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;2. Container&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;3. Package&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;For example:&amp;nbsp; If an event is triggered&amp;nbsp; at the task level and no event handler is defined, the event is passed to container level, if no event handler is defined at container level then it will be passed to package level.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;How many events are available?&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana;&quot;&gt;There are 12 different events&amp;nbsp;that can be handled in SSIS package. Below is the list..&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnError &lt;/u&gt;The OnError event is caused by the occurrence of an error. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnExecStatusChanged &lt;/u&gt;The OnExecStatusChanged event occurs when an executable changes its status. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnInformation &lt;/u&gt;When an executable reports information during validation or execution, the OnInformation event occurs. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnPostExecute &lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;OnPostExecute is an event that occurs immediately after an executable has completed running. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnPostValidate&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;The OnPostValidate event occurs immediately after an executable has finished its validation. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnPreExecute &lt;/u&gt;The OnPreExecute event occurs immediately before an executable runs. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnPreValidate &lt;/u&gt;The OnPreValidate event occurs immediately before an executable begins its validation. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnProgress &lt;/u&gt;&lt;br /&gt;OnProgress is an event that occurs when an executable makes measurable progress. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnQueryCancel &lt;/u&gt;The OnQueryCancel event occurs automatically at regular intervals to determine if the package should continue running. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnTaskFailed &lt;/u&gt;When a task has failed execution, the OnTaskFailed event occurs. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnVariableValueChanged&lt;/u&gt; &lt;br /&gt;The OnVariableValueChanged event occurs when a variable&#39;s value is changed. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;u&gt;OnWarning &lt;/u&gt;The OnWarning event is raised when a warning occurs. &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;Event handlers have a number of properties that allow you to &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #3d85c6; font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;•&amp;nbsp;assign a name and description to the event handler &lt;br /&gt;•&amp;nbsp;enable or disable the event handler &lt;br /&gt;•&amp;nbsp;determine whether the package fails if the event handler fails &lt;br /&gt;•&amp;nbsp;determine the number of errors that can occur before the event handler fails &lt;br /&gt;•&amp;nbsp;override the execution result that would normally be returned at runtime &lt;br /&gt;•&amp;nbsp;determine the transaction isolation level for operations performed by the event handler, and &lt;br /&gt;•&amp;nbsp;determine the logging mode used by the event handler&lt;br /&gt;&lt;br /&gt;Thats all.. I hope this peice of information was usefull.&lt;br /&gt;&lt;br /&gt;Thanks..&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/7458581376968921263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-event-handlers-variables.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7458581376968921263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7458581376968921263'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/learn-ssis-event-handlers-variables.html' title='Learn SSIS : Event handlers, variables, expressions in SSIS - Part 1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc3YCT1xjdQt9Cx1VjT81sN_sBXTm6DD2LwD4lbfri1XusmUIvOy_V-6X1McCQRy9H7KTX_1DA3W57pZVazFBblgPsDEYRP6MqPmdB18bnQM7sPP9GAvGUAOlNbeKKMiZxV5HgidVoSic/s72-c/EventHandler1.JPG" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-474900893221313277</id><published>2011-09-13T21:19:00.000+05:30</published><updated>2011-09-22T13:33:52.499+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Control Flow"/><title type='text'>Learn SSIS : Contol flow task categorization</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Like how we categorized data flow transformations in my previous post &lt;/span&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;a href=&quot;http://letslearnssis.blogspot.com/2011/09/dataflow-transformation-categorization.html&quot;&gt;&quot;Dataflow-transformation-categorization&quot;&lt;/a&gt;&amp;nbsp;here i have categorized various control flow tasks we have in SSIS.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;The task have been categroized based on the functionality they provide in SSIS Control Flow.&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Data Flow Task &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;The Data Flow Task category contains a single task that is used to extract data, apply column-level transformations, and load data in your SSIS package. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Data Preparation Tasks &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Data Preparation Tasks allow you to copy files and directories, execute web methods, work with XML documents, and cleanse data in your SSIS packages. &lt;br /&gt;&lt;i&gt;Data Preparation Tasks include File System, FTP, Web Service, XML, and Data Profiling.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Workflow Tasks &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Workflow Tasks are used in your SSIS packages to run other packages, programs or batch files, and send or receive messages between packages. These tasks can also send e-mail messages, read WMI data, and watch for WMI events. &lt;br /&gt;&lt;i&gt;Workflow Tasks include Execute Package, Execute Process, Message Queue, Send Mail, WMI Data Reader, and WMI Event Watcher.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;SQL Server Tasks &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;SQL Server Tasks allow you to work with SQL Server objects and data in your SSIS packages. &lt;br /&gt;&lt;i&gt;SQL Server Tasks include Bulk Insert, Execute SQL, Transfer Database, Transfer Error Messages, Transfer Jobs, Transfer Logins, Transfer Master Stored Procedures, and Transfer SQL Server Objects.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Script Task &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;The Script Task category contains a single task that is used to execute Microsoft Visual Studio Tools for Applications, abbreviated to VSTA, scripts in your SSIS package. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Analysis Services Tasks &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Analysis Services Tasks allow you to work with Analysis Services objects in your SSIS packages. &lt;br /&gt;&lt;i&gt;Analysis Services Tasks include Analysis Services Execute DDL, Analysis Services Processing, and Data Mining Query.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Maintenance Tasks, and &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Maintenance Tasks allow you to perform administrative functions on the SQL Server in your SSIS packages. &lt;br /&gt;&lt;i&gt;Maintenance Tasks include Back Up Database, Check Database Integrity, Execute SQL Server Agent Job, Execute T-SQL Statement, History Cleanup, Maintenance Cleanup, Notify Operator, Rebuild Index, Reorganize Index, Shrink Database, and Update Statistics.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Backward Compatibility Tasks &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Backward Compatibility Tasks are provided for backward compatibility with SQL Server Data Transformation Services or DTS (SQL SERVER 2000). &lt;br /&gt;&lt;i&gt;The two Backward Compatibility Tasks are ActiveX Script and Execute DTS 2000 Package.&lt;/i&gt; &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;In addition to the data flow tasks included with SQL Server 2008, you can also create custom tasks using any programming language that supports the Component Object Model or COM programming model. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Control flow containers provide structure to your package. They are used to group tasks together or allow one or more tasks to be repeated.&lt;br /&gt;&lt;br /&gt;There are four types of control flow containers: &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Foreach Loop &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;A Foreach Loop container executes its tasks once for each member of an enumerated collection. For example, the tasks in a Foreach Loop container could be executed once for every row in a table, or once for each file in a folder on the hard drive. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;For Loop &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;A For Loop container executes its tasks repeatedly until a specified expression evaluates to false. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Sequence, and &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;A Sequence container simply creates a logical grouping of tasks that can be managed as a unit. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Task Host &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;The Task Host container is created for you automatically when you add a task to the Control Flow design surface in BIDS. This container contains only the task and allows container properties, such as checkpoints and transaction, to be configured on individual tasks. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Hope this consolidation helps ...&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri;&quot;&gt;Thanks..&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 10pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/474900893221313277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/contol-flow-task-categorization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/474900893221313277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/474900893221313277'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/contol-flow-task-categorization.html' title='Learn SSIS : Contol flow task categorization'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-1738403051601188592</id><published>2011-09-07T18:52:00.000+05:30</published><updated>2012-10-08T20:42:46.479+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dataflow"/><category scheme="http://www.blogger.com/atom/ns#" term="Transformation"/><title type='text'>Learn SSIS : Dataflow Transformation Categorization..</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//&lt;/script&gt;
&lt;/div&gt;
--&amp;gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Before anyone starts learning/designing&amp;nbsp;data flow in SSIS, one should know what is been offered by Microsoft in SSIS toolbox. Most people don&#39;t know how many transformations are actually available in data flow and they choose some alternative workaround to performs operations which can be done easily using available transformations. In this article i am going to provide just a brief of all the transformations available in dataflow and categorise them. After reading this article one should be aware of what is been offered in SSIS designer, and it will be helpful for all those beginners to become aware of available transformations.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Also Categorization helps us to remember transformations, as there are lot.. its difficult to remember :)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Ok so lets start...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Transformations are divided into four categories&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;1. Row level&amp;nbsp;&amp;nbsp;transformations&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;2. Rowset transformations&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;3. Multiple Input-output transformations&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;4. Advance Transformations.&lt;/span&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Row Level Transformations&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Row level transformations performs operations on data row by row. These transformations are most common in use and can be configured easily. Following are the transformations which comes under this category.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Audit&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Cache Transform&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Character Map&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Copy Column&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Data Conversion&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Derived Column&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Export Column&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Import Column&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Row Count&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;strong&gt;Rowset Transformation&lt;/strong&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Rowset Transformation performs operations on multiple rows, these kind of transformations are memory intensive, but can be functionally very useful. Below are the list of transformations which comes under this category.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Aggregate&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Percent Sampling&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Pivot&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Row Sampling&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Sort&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Un pivot&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Multi input/output transformations&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;As the category name implies, these transformations requires multiple input and it generates multiple outputs.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;These transformations provides functionality to combine or branch data and give the data flow the overall ability to process data from one or more sources to one or more destinations.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Below is the list of transformations which fall under this category..&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Conditional Split&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Lookup&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Merge&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Merge Join&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Multicast&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;UnionAll&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;strong&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Advance Transformatoins&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The transformations fall under this category provides ability to perform advance operations on data in pipeline of SSIS package.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;OLE DB Command&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Slowly Changing Dimension&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Data Mining Query&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Fuzzy Grouping&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Fuzzy Lookup&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Script Component&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Term Extraction&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Term Lookup&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Thats all ... This all the transformations, and we have categorize them as well.. I hope this peice of information was helpfull...&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Thanks..&lt;/span&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/1738403051601188592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/dataflow-transformation-categorization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/1738403051601188592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/1738403051601188592'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/09/dataflow-transformation-categorization.html' title='Learn SSIS : Dataflow Transformation Categorization..'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-7062659876120133526</id><published>2011-08-12T16:52:00.000+05:30</published><updated>2011-08-12T16:53:50.073+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="XML Source"/><category scheme="http://www.blogger.com/atom/ns#" term="XML Task"/><title type='text'>Process Multi-Level XML in SSIS</title><content type='html'>&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe src=&quot;http://player.vimeo.com/video/8407732?title=0&amp;amp;byline=0&amp;amp;portrait=0&quot; width=&quot;400&quot; height=&quot;300&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;p&gt;&lt;a href=&quot;http://vimeo.com/8407732&quot;&gt;Process Multi-Level XML in SSIS&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/ramu&quot;&gt;Ramu Poonjolai&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com&quot;&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/7062659876120133526/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/process-multi-level-xml-in-ssis-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7062659876120133526'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7062659876120133526'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/process-multi-level-xml-in-ssis-from.html' title='Process Multi-Level XML in SSIS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-9188758716035745894</id><published>2011-08-11T15:54:00.001+05:30</published><updated>2011-08-11T15:55:39.207+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Running package"/><category scheme="http://www.blogger.com/atom/ns#" term="SSMS"/><title type='text'>Running packages from SSMS</title><content type='html'>&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width=&quot;425&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/GShAdwzQgGM&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/9188758716035745894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/running-packages-from-ssms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/9188758716035745894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/9188758716035745894'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/running-packages-from-ssms.html' title='Running packages from SSMS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/GShAdwzQgGM/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-6359539485275311512</id><published>2011-08-11T00:29:00.000+05:30</published><updated>2011-08-11T00:32:12.805+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="DENALI"/><category scheme="http://www.blogger.com/atom/ns#" term="Deployment"/><title type='text'>SSIS package deployment made easy in Denali..!!</title><content type='html'>&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width=&quot;425&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/GtaT5lN7cpY&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/6359539485275311512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/ssis-package-deployment-made-easy-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6359539485275311512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/6359539485275311512'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/08/ssis-package-deployment-made-easy-in.html' title='SSIS package deployment made easy in Denali..!!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/GtaT5lN7cpY/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-2747304642336374771</id><published>2011-07-23T13:28:00.000+05:30</published><updated>2011-07-23T13:46:39.089+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Advantages of SSIS"/><category scheme="http://www.blogger.com/atom/ns#" term="DENALI"/><title type='text'>SSIS in SQL SERVER Denali CTP3 (The First Look)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;&lt;div class=&quot;MsoNormal&quot; closure_uid_wiol2m=&quot;137&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;SSIS in SQL SERVER Denali CTP3 (The First Look)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span closure_uid_suhht6=&quot;117&quot; style=&quot;font-family: Calibri;&quot;&gt;As many of us may be aware of that Microsoft has already released sql server codename denali Beta, which will be a next version of sql server which is projected to release in 2012. This post will be concentrating on what you will notice in first look of SSIS designer.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; closure_uid_cmp5z7=&quot;109&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFShb9fmMigO7iigObQlLFY1ABXlAxv92rksGaWwyjr5n4n8l3il9cYjLtydOzXPJEKvmhb1xaB0TOvBEBg0EQKmJI1HA2D0jOfZGvL-_AQwadOl7w6ie37cFG118PqPH5VCD9isrHmU/s1600/FirstLook.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFShb9fmMigO7iigObQlLFY1ABXlAxv92rksGaWwyjr5n4n8l3il9cYjLtydOzXPJEKvmhb1xaB0TOvBEBg0EQKmJI1HA2D0jOfZGvL-_AQwadOl7w6ie37cFG118PqPH5VCD9isrHmU/s320/FirstLook.jpg&quot; t$=&quot;true&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; closure_uid_wiol2m=&quot;126&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Up on opening the project, you will notice following changes…&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;1.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span closure_uid_wiol2m=&quot;125&quot; style=&quot;font-family: Calibri;&quot;&gt;Grouping of tasks and transformations have been shuffled or re-categorized, based on there usage.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;2.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;For control flow task, a new task Expression Task is added.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;3.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;In Data flow, you can new transformation that is DQS&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;Cleansing, its Data quality Service.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;4.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;They have added Source Assistant and Destination Assistant&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;5.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span closure_uid_suhht6=&quot;131&quot; style=&quot;font-family: Calibri;&quot;&gt;You can see a new tab added as Parameters, which helps to define package level parameters this looks a easy way of passing parameters to packages.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;6.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;The variable window has a new feature to change the scope of variable on a button click, which is quite useful.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin: 0cm 0cm 10pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;&quot;&gt;&lt;span style=&quot;mso-list: Ignore;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;7.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;You can see connection manager in solution explorer, which indicates it allows sharing of Connections across packages.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Yes there will be more improvements and or extra feature.. I add them in my upcoming blogs.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Thanks for reading..&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Regards,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;span style=&quot;font-family: Calibri;&quot;&gt;Learner..!!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoListParagraph&quot; style=&quot;margin: 0cm 0cm 10pt 72pt; mso-add-space: auto;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/2747304642336374771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/ssis-in-sql-server-denali-ctp3-first.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/2747304642336374771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/2747304642336374771'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/ssis-in-sql-server-denali-ctp3-first.html' title='SSIS in SQL SERVER Denali CTP3 (The First Look)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOFShb9fmMigO7iigObQlLFY1ABXlAxv92rksGaWwyjr5n4n8l3il9cYjLtydOzXPJEKvmhb1xaB0TOvBEBg0EQKmJI1HA2D0jOfZGvL-_AQwadOl7w6ie37cFG118PqPH5VCD9isrHmU/s72-c/FirstLook.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-4827348551394688029</id><published>2011-07-22T20:49:00.000+05:30</published><updated>2011-09-22T13:34:30.720+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Advantages of SSIS"/><category scheme="http://www.blogger.com/atom/ns#" term="SSIS"/><category scheme="http://www.blogger.com/atom/ns#" term="What is SSIS"/><title type='text'>Learn SSIS : What is SSIS ?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
What is SSIS? its a comman question been asked and searched on google and other search eagines, this indicates lots of people are looking for information on what exactly ssis is?&lt;br /&gt;
&lt;br /&gt;
Well this post will cover the general defination of SSIS, and where exactly this technology is getting used..&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
SSIS stands for SQL SERVER Integration services, its an additional independent windows services which is basically used to manage ETL(Extract Transform and Load) operations or workflows in any datawarehousing solution. Yes you can it as a ETL development tool, using which we design the workflows and schedule it as per business needs. The business data movement is designed in the workflows(Packages) and then scheduled to automate the task.&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
The SSIS can be used in following scenarios:&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
1. Data movement across platforms&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
2. Data movement between different RDBMS (Oracel / DB2 / SQL SERVER/ Flat files)&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
3. Custom business workflow&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
4. Movement of data across applications&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
5. Perform Maintanence tasks on SQL SERVER &lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
6. Perform Monitoring &lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
7. Perform huge data movement like archieving or BULK Inserts etc&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
8. Looping over files or any dataset.&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
Etc..&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;div closure_uid_p795ij=&quot;128&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
So the advantage of using SSIS is :&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
For more complex processes, particularly those that involve heavy transforms, slowly changing dimensions, data mining lookups, etc, SSIS has three advantages.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;First, it manages memory very efficiently, which can result in big performance improvements compared to T-SQL alone.&lt;/li&gt;
&lt;li&gt;Second, the graphical interface lets you build large, complex and reliable transforms much more easily than hand-crafted T-SQL.&lt;/li&gt;
&lt;li&gt;And third, SSIS lets you more easily interact with additional external sources, which can be very handy for things like data cleansing.&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div closure_uid_p795ij=&quot;126&quot;&gt;
Features of SSIS: &lt;a href=&quot;http://en.wikipedia.org/wiki/SQL_Server_Integration_Services&quot;&gt;http://en.wikipedia.org/wiki/SQL_Server_Integration_Services&lt;/a&gt;&lt;br /&gt;
So how do i install SSIS??&lt;br /&gt;
&lt;br /&gt;
its simple, SSIS comes along with SQL SERVER, so when you install SQL SERVER you can get an option to install SSIS services too, you can download SQL SERVER from &lt;a href=&quot;http://www.microsoft.com/sqlserver/2008/en/us/express.aspx&quot;&gt;http://www.microsoft.com/sqlserver/2008/en/us/express.aspx&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this post might be helpfull for biggners..&lt;br /&gt;
&lt;br /&gt;
--The Learner..!!&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/4827348551394688029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/what-is-ssis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/4827348551394688029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/4827348551394688029'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/what-is-ssis.html' title='Learn SSIS : What is SSIS ?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-204026166252300476</id><published>2011-07-13T21:56:00.000+05:30</published><updated>2011-07-15T00:04:14.886+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Others"/><title type='text'>SQL Server Code Name &quot;Denali&quot;</title><content type='html'>Hi Friends,&lt;br /&gt;
&lt;br /&gt;
SQL SERVER 2012 Beta is relaeased checkout below URL for details..&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://download.microsoft.com/download/E/9/D/E9DBB1BB-89AE-4C70-AF02-AAFC29451A85/SQL_Server_Whats_New_White_Paper_FINAL.docx-E819F62E2BBC/SQL_Server_Denali_Overview.pdf&quot;&gt;SQL Server Code Name &quot;Denali&quot;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Also you can download SQL SEVER Denali using below URL&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/&quot;&gt;https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Also checkout a presentation video from microsoft..&lt;br /&gt;
&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;349&quot; src=&quot;http://www.youtube.com/embed/Ck9W3p60CiE&quot; width=&quot;560&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
--Thanks &lt;br /&gt;
The Learner..!!&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;
&lt;/script&gt;</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/204026166252300476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/sql-server-code-name-denali.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/204026166252300476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/204026166252300476'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/sql-server-code-name-denali.html' title='SQL Server Code Name &quot;Denali&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/Ck9W3p60CiE/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-4768134257283186720</id><published>2011-07-12T22:50:00.000+05:30</published><updated>2011-09-22T13:34:44.067+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Containers"/><category scheme="http://www.blogger.com/atom/ns#" term="Control Flow"/><category scheme="http://www.blogger.com/atom/ns#" term="Loops"/><title type='text'>Learn SSIS : For Each loop</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Welcome back..Today I am going to cover ForEach loop.&lt;br /&gt;
ForEach loop we use when we don’t know the number of iteration loop, lets take an example…&lt;br /&gt;
The scenario is in adventure works database we have a view vEmployeeDepartment, so what we are going to do is we will be generating files by department name.&lt;br /&gt;
Let’s start..&lt;br /&gt;
The package will look like this…&lt;br /&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdm4B8DMjUqKLeVYKDMpKO6BXkxf4S6KLTCLxrfHhN1ugG9ItNKesAmsgQYDYkRqqD9W7HRDyGai06pe7a0c52vUFD7YXsOZeOcpxr5dA_rIAbd7-LjJQjaW4cWXZm__dGVSf_dCJ0eP0/s1600/Foreach1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdm4B8DMjUqKLeVYKDMpKO6BXkxf4S6KLTCLxrfHhN1ugG9ItNKesAmsgQYDYkRqqD9W7HRDyGai06pe7a0c52vUFD7YXsOZeOcpxr5dA_rIAbd7-LjJQjaW4cWXZm__dGVSf_dCJ0eP0/s320/Foreach1.png&quot; width=&quot;234&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
The execute sql task will get list of departments from the view, and the foreach loop will loop over the department list one by one and generate the files for each department.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Execute SQL Task: To get list of departments from the view&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuDWRcVeMHz1QtkSU-90MMvWovsmTxlKuHcWjbXEW7OgrUM6-fdII-5GtMIArm_OPhyphenhyphen59QEEbeHA4quchx8CEQgcHdOgp8G9YGXAS0TDoZbFnXDlGgQvx5hqIH0BqQTrOqVmL83O_xKo8/s1600/Foreach2.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; m$=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuDWRcVeMHz1QtkSU-90MMvWovsmTxlKuHcWjbXEW7OgrUM6-fdII-5GtMIArm_OPhyphenhyphen59QEEbeHA4quchx8CEQgcHdOgp8G9YGXAS0TDoZbFnXDlGgQvx5hqIH0BqQTrOqVmL83O_xKo8/s320/Foreach2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-iqVBIkh-7LZdkskCC38-SwyGh20EIrVMkfoHTt5Jb9NNJnBxOt96ATkfRmUsaGfiKAGB9D8WOH7i6JpV2g7lkM7JWscBZI0ZiqBFHc1U5DneqU580JSC3sAofuHTc8m2K1CBQUwsRpQ/s1600/Foreach3.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;215&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-iqVBIkh-7LZdkskCC38-SwyGh20EIrVMkfoHTt5Jb9NNJnBxOt96ATkfRmUsaGfiKAGB9D8WOH7i6JpV2g7lkM7JWscBZI0ZiqBFHc1U5DneqU580JSC3sAofuHTc8m2K1CBQUwsRpQ/s320/Foreach3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCcCpBeVen_Tr_uG7xvKEo3hhAFW3wDODLTppnEB9eqHDHwpoO0-9bPbTWxoW22byeqW-6p2NPlex3fcCro9aVRn9vdY3xJF32gNq8Gl6vIk5PtP-j288flMjffqOV40Dzv0fw1WNg7HI/s1600/Foreach4.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCcCpBeVen_Tr_uG7xvKEo3hhAFW3wDODLTppnEB9eqHDHwpoO0-9bPbTWxoW22byeqW-6p2NPlex3fcCro9aVRn9vdY3xJF32gNq8Gl6vIk5PtP-j288flMjffqOV40Dzv0fw1WNg7HI/s320/Foreach4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. ForEach Loop: Loop over all the departments we got from Execute SQL task&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4ytADWW-3RdXWd1fjhzjAgAAw2vF2stLpB0bBB4hNjvbe6S881cYo4p9Si7ZhdBZ3K-jEKS1rp-MW-3Q3EQu_roG4clavqYlt4hU2fIuiJBZbLIli1gGiC1zETQDazndCqsBbhcR7Aoc/s1600/Foreach5.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj4ytADWW-3RdXWd1fjhzjAgAAw2vF2stLpB0bBB4hNjvbe6S881cYo4p9Si7ZhdBZ3K-jEKS1rp-MW-3Q3EQu_roG4clavqYlt4hU2fIuiJBZbLIli1gGiC1zETQDazndCqsBbhcR7Aoc/s320/Foreach5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiieGp-cwJGVuEZtGH7X6bttQkDrCRZ9tHZ7HStNbOCpX7dB_Mpm50KOdN3HrN8KJgakZkPIIEPRsYPjawdj73hVdqMHQj_Bi5eBS8R1aN0vmNvTx9ccBLQNtfp3ZLMHLt4ZTHpYuWHHmo/s1600/Foreach6.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiieGp-cwJGVuEZtGH7X6bttQkDrCRZ9tHZ7HStNbOCpX7dB_Mpm50KOdN3HrN8KJgakZkPIIEPRsYPjawdj73hVdqMHQj_Bi5eBS8R1aN0vmNvTx9ccBLQNtfp3ZLMHLt4ZTHpYuWHHmo/s320/Foreach6.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. Script Task: to form a T-SQL, which fetches department wise records from table&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJs33tApK9fY5KNJESVjFUKS3aI23QpMMkm5Xwd2s-68aUQsE4WW1ippivUNU8F_CMGpsctXmcdF2euR9LEM41GhLYocAD834tyk2VBDZsli8tKdYmwqxehAM-Vu_vxkZ6-tS1BwTBra8/s1600/Foreach7.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJs33tApK9fY5KNJESVjFUKS3aI23QpMMkm5Xwd2s-68aUQsE4WW1ippivUNU8F_CMGpsctXmcdF2euR9LEM41GhLYocAD834tyk2VBDZsli8tKdYmwqxehAM-Vu_vxkZ6-tS1BwTBra8/s320/Foreach7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;Here is the code that needs to be entered into Script task, its nothing but variable assignment.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;void&lt;/span&gt; Main()&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;// TODO: Add your code here&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dts.Variables[&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;varSQL&quot;&lt;/span&gt;].Value = &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;Select EmployeeID,FirstName,MiddleName,LastName,JobTitle,StartDate from HumanResources.vEmployeeDepartment&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp; &lt;/span&gt;where Department = &#39;&quot;&lt;/span&gt; + Dts.Variables[&lt;span style=&quot;color: #a31515;&quot;&gt;&quot;varDepartment&quot;&lt;/span&gt;].Value.ToString() + &lt;span style=&quot;color: #a31515;&quot;&gt;&quot;&#39;&quot;&lt;/span&gt;;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;//MessageBox.Show(Dts.Variables[&quot;varDepartment&quot;].Value.ToString());&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dts.TaskResult = (&lt;span style=&quot;color: blue;&quot;&gt;int&lt;/span&gt;)&lt;span style=&quot;color: #2b91af;&quot;&gt;ScriptResults&lt;/span&gt;.Success;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0cm 0cm 10pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;mso-spacerun: yes;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;mso-ansi-language: EN-US;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Calibri&amp;quot;, &amp;quot;sans-serif&amp;quot;; font-size: 11pt; mso-ansi-language: EN-US; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Mangal; mso-bidi-font-size: 10.0pt; mso-bidi-language: HI; mso-bidi-theme-font: minor-bidi; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;background: black; border-bottom: black 1pt; border-left: black 1pt; border-right: black 1pt; border-top: black 1pt; color: black; font-family: &amp;quot;Times New Roman&amp;quot;, &amp;quot;serif&amp;quot;; font-size: 0pt; layout-grid-mode: line; mso-ansi-language: X-NONE; mso-bidi-language: X-NONE; mso-border-alt: none black 0cm; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-language: X-NONE; mso-font-width: 0%; padding-bottom: 0cm; padding-left: 0cm; padding-right: 0cm; padding-top: 0cm;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Dataflow Task: Execute the T-SQL we formed in above step and generate the files for each department.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlujiYd64PwJ4J9MSTSF5GzYe_TvTQM9bUgNx5a_FfGQXZBz-XpiOJk-ONdGDky4kf9q6Y3gsbAcDztPMj7G8FFPFPyEMPFI4IaBJtPWto0qXzAioGpX7E-WZ4pMp8Y_BZ4RRDLiqYRj4/s1600/Foreach8.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;277&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlujiYd64PwJ4J9MSTSF5GzYe_TvTQM9bUgNx5a_FfGQXZBz-XpiOJk-ONdGDky4kf9q6Y3gsbAcDztPMj7G8FFPFPyEMPFI4IaBJtPWto0qXzAioGpX7E-WZ4pMp8Y_BZ4RRDLiqYRj4/s320/Foreach8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5.Expressions: To set destination file name dynamically, we use expressions, which will change the connectionstring of destination connection.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicecqjDHmljZLf3iOJ28PeIVRgp6UgVhiySE0W2qHWT19qg991yIuQiNLdec_zK7IgVn6QuCe3gOABkXgX_V6B65yVaUgotw0n_RkDzmF_2Lo6sJljII5llf0jI-pprDpQgh5CK4TZTOI/s1600/Foreach9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;61&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEicecqjDHmljZLf3iOJ28PeIVRgp6UgVhiySE0W2qHWT19qg991yIuQiNLdec_zK7IgVn6QuCe3gOABkXgX_V6B65yVaUgotw0n_RkDzmF_2Lo6sJljII5llf0jI-pprDpQgh5CK4TZTOI/s320/Foreach9.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
6. Variables: We are using following three variables&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a. varDepartments: This holds department list we got from Execute SQL task&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b. varDepartment: This holds department name for every iteration of ForEach loop&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c. varSQL: Holds the T-SQL which we form in SCRIPT task&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjihZOXp_JsSevPC2jzhdJrV0GM03UiGQuEy4Tt4SqlbHbH9x-kKY8zQ-FSSrsriT1AsSiF0BQ5Yv7UQEr3CsOZSTDTNBImnabJOkSE2wf-us2r2k9QJ4jSytEPIgdlgPPjSN1tmQDqtwM/s1600/Foreach10.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjihZOXp_JsSevPC2jzhdJrV0GM03UiGQuEy4Tt4SqlbHbH9x-kKY8zQ-FSSrsriT1AsSiF0BQ5Yv7UQEr3CsOZSTDTNBImnabJOkSE2wf-us2r2k9QJ4jSytEPIgdlgPPjSN1tmQDqtwM/s320/Foreach10.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Well guys that‘s it, run the package and see the results at the destination directory, files of each department will be generated as shown…&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnYOgOG8TvLGCapK4X3kqq_YCJSHsj4gyMMwoyq99AB45lhgWjt3XZFNL0hKyns0_PjxFTVQKKunU0NPivEMAKHSfCxA7rRj_s1XFloBKgsauQjVTEi9JXWOZrldTClU-QdQyK-hMvrvM/s1600/Foreach11.png&quot; imageanchor=&quot;1&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;172&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnYOgOG8TvLGCapK4X3kqq_YCJSHsj4gyMMwoyq99AB45lhgWjt3XZFNL0hKyns0_PjxFTVQKKunU0NPivEMAKHSfCxA7rRj_s1XFloBKgsauQjVTEi9JXWOZrldTClU-QdQyK-hMvrvM/s320/Foreach11.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/4768134257283186720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/for-each-loop.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/4768134257283186720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/4768134257283186720'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/for-each-loop.html' title='Learn SSIS : For Each loop'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdm4B8DMjUqKLeVYKDMpKO6BXkxf4S6KLTCLxrfHhN1ugG9ItNKesAmsgQYDYkRqqD9W7HRDyGai06pe7a0c52vUFD7YXsOZeOcpxr5dA_rIAbd7-LjJQjaW4cWXZm__dGVSf_dCJ0eP0/s72-c/Foreach1.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-7716588059654752556</id><published>2011-07-09T11:51:00.000+05:30</published><updated>2011-09-22T13:34:57.354+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dataflow"/><category scheme="http://www.blogger.com/atom/ns#" term="MERGE"/><category scheme="http://www.blogger.com/atom/ns#" term="MERGE JOIN and UNION ALL"/><category scheme="http://www.blogger.com/atom/ns#" term="Transformation"/><title type='text'>Learn SSIS : MERGE, MERGE JOIN and UNION ALL</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Well its looks I really getting fond of writing blogs. I think everyone should at least give a try writing blogs once :)&lt;br /&gt;
&lt;br /&gt;
Today I am going to study some of the Dataflow transformations, MERGE, MERGE JOIN, and UNION ALL.&lt;br /&gt;
&lt;br /&gt;
Yes the first question any SQL SERVER developer can ask is, these operations can very well be done in T-SQL query, Why using it in SSIS?, well the answer is, T-SQL can be used only when you are working with data which resides in SQL SEVER Tables, but what if the data is coming from different database itself like ORACLE or MYSQL or Flat File or XML or EXCEL.&lt;br /&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Let’s take it one by one each transformation, the post also covers differences, which are actually common questions, in any SSIS interviews.&lt;br /&gt;
&lt;br /&gt;
Rather than reinventing the wheel, I am taking the text from MSDN for providing the description of each transformation which I found covering everything J&lt;br /&gt;
&lt;br /&gt;
MERGE:&lt;br /&gt;
&lt;br /&gt;
The Merge transformation combines two sorted datasets into a single dataset. The rows from each dataset are inserted into the output based on values in their key columns.&lt;br /&gt;
&lt;br /&gt;
By including the Merge transformation in a data flow, you can perform the following tasks:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Merge data from two data sources, such as tables and files.&lt;/li&gt;
&lt;li&gt;Create complex datasets by nesting Merge transformations.&lt;/li&gt;
&lt;li&gt;Remerge rows after correcting errors in the data.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
The Merge transformation is similar to the Union All transformations. Use the Union All transformation instead of the Merge transformation in the following situations:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;The transformation inputs are not sorted.&lt;/li&gt;
&lt;li&gt;The combined output does not need to be sorted.&lt;/li&gt;
&lt;li&gt;The transformation has more than two inputs.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
Well here is the example..here we are taking input from two different sql server databases and merging them into a flatfile.&lt;br /&gt;
&lt;img alt=&quot;MergeExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/merge.jpg&quot; /&gt;&lt;br /&gt;
And here is what we need to set in Merge Transformation properties&lt;br /&gt;
&lt;img alt=&quot;MergeExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/mergeproperties.jpg&quot; /&gt;&lt;br /&gt;
This transformation is pretty simple and straight forward.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MERGE JOIN: The Merge Join transformation provides an output that is generated by joining two sorted datasets using a FULL, LEFT, or INNER join. For example, you can use a LEFT join to join a table that includes product information with a table that lists the country/region in which a product was manufactured. The result is a table that lists all products and their country/region of origin. For more information, see &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms191472.aspx&quot;&gt;Using Joins&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
You can configure the Merge Join transformation in the following ways:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Specify the join is a FULL, LEFT, or INNER join.&lt;/li&gt;
&lt;li&gt;Specify the columns the join uses.&lt;/li&gt;
&lt;li&gt;Specify whether the transformation handles null values as equal to other nulls.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;&lt;strong&gt;Note&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign=&quot;top&quot;&gt;If null values are not treated as equal values, the transformation handles null values like the SQL Server Database Engine does.&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
This transformation has two inputs and one output. It does not support an error output.&lt;br /&gt;
&lt;br /&gt;
Here is the same example with merge join..&lt;br /&gt;
&lt;img alt=&quot;MergeJoinExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/mergejoin.jpg&quot; /&gt;&lt;br /&gt;
And the properties window looks like this, here we need to set which type of Join we need to perform the dataset(Left outer, right outer or inner) it’s the same what we use in any RDBMS.&lt;br /&gt;
&lt;img alt=&quot;MergeJoinExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/mergejoinproperties.jpg&quot; /&gt;&lt;br /&gt;
UNION ALL:&lt;br /&gt;
&lt;br /&gt;
The Union All transformation combines multiple inputs into one output. For example, the outputs from five different Flat File sources can be inputs to the Union All transformation and combined into one output.&lt;br /&gt;
&lt;br /&gt;
The transformation inputs are added to the transformation output one after the other; no reordering of rows occurs. If the package requires a sorted output, you should use the Merge transformation instead of the Union All transformation.&lt;br /&gt;
&lt;br /&gt;
The first input that you connect to the Union All transformation is the input from which the transformation creates the transformation output. The columns in the inputs you subsequently connect to the transformation are mapped to the columns in the transformation output.&lt;br /&gt;
&lt;br /&gt;
To merge inputs, you map columns in the inputs to columns in the output. A column from at least one input must be mapped to each output column. The mapping between two columns requires that the metadata of the columns match. For example, the mapped columns must have the same data type.&lt;br /&gt;
&lt;br /&gt;
If the mapped columns contain string data and the output column is shorter in length than the input column, the output column is automatically increased in length to contain the input column. Input columns that are not mapped to output columns are set to null values in the output columns.&lt;br /&gt;
&lt;br /&gt;
This transformation has multiple inputs and one output. It does not support an error output.&lt;br /&gt;
&lt;img alt=&quot;UnionALLExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/unionall.jpg&quot; /&gt;&lt;br /&gt;
&lt;img alt=&quot;UnionALLExample&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/unionallproperties.jpg&quot; /&gt;&lt;br /&gt;
Even though I have taken all sources as OLEBD, you can take any type of source and output data to any type of destination.&lt;br /&gt;
&lt;br /&gt;
Well guys that’s it for today, hope you guys have learned something.&lt;br /&gt;
&lt;br /&gt;
--The Learner ..!!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/7716588059654752556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/merge-merge-join-and-union-all.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7716588059654752556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/7716588059654752556'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/merge-merge-join-and-union-all.html' title='Learn SSIS : MERGE, MERGE JOIN and UNION ALL'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5019446838870469876.post-3573114523775628436</id><published>2011-07-06T20:40:00.000+05:30</published><updated>2011-09-22T13:35:11.746+05:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="Containers"/><category scheme="http://www.blogger.com/atom/ns#" term="Control Flow"/><category scheme="http://www.blogger.com/atom/ns#" term="Loops"/><title type='text'>Learn SSIS : For Loop in SSIS 2005/2008</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
After lots of failure attempts finally I am confident enough to write my first post. It took like 3 years for me to start writing this first post. And you know what, its not that simple!!.&lt;br /&gt;
&lt;br /&gt;
Anyways feelings aside, and lets starts something which is of our interest.&lt;br /&gt;
&lt;br /&gt;
Yeah we gona start with Loops in SSIS, well there are two types of loops available in SSIS 2005/2008&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;FOR Loop : Use when you know the count of iteration of the loop&lt;/li&gt;
&lt;li&gt;FOREACH Loop : Use when you don’t know the count of Iteration of loop&lt;/li&gt;
&lt;/ol&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
&lt;!--
google_ad_client = &quot;ca-pub-3474121070607226&quot;;
/* LetsLearnSSIS */
google_ad_slot = &quot;9810939956&quot;;
google_ad_width = 468;
google_ad_height = 60;
//--&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Now I am not going to put much text to read, or give you detailed information on architecture of loops or SSIS, rather we will be learning here by examples.&lt;br /&gt;
&lt;br /&gt;
So lets start with For Loops: &lt;strong&gt;&lt;em&gt;&amp;lt;I will cover ForEach loop in my next article&amp;gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Lets say the requirement is everytime I execute the loop in my ssis package, three records will be inserted into a table named LoopsExample. So we will start with&lt;br /&gt;
&lt;br /&gt;
1. Create a table named LoopsExample as shown&lt;br /&gt;
&lt;br /&gt;
Create table LoopsExample( Pkey int identity(1,1), IterationCount int, DateLooped datetime)&lt;br /&gt;
&lt;br /&gt;
Whenever the SSIS loop executes, it inserts three new records into the LoopsExample table with PKey as primary key, IterationCount as iteration number just to know how the iteration values gets change, and DateLoooped will show the date the record is inserted into the table&lt;br /&gt;
&lt;br /&gt;
2. So here what we do in SSIS designer&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Create a package variable named @i&lt;/li&gt;
&lt;li&gt;Drop a For Loop container into the SSIS Control flow and double click to open For loop Editor.&lt;img alt=&quot;Image1&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/1.jpg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Drop Execute SQL Task into For Loop container.&lt;img alt=&quot;Image1&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/2.jpg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Configure Execute SQL task.&lt;img alt=&quot;Image1&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/3.jpg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Set Parameter Mapping tab.&lt;img alt=&quot;Image1&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/4.jpg&quot; /&gt;&lt;/li&gt;
&lt;li&gt;Here is the query to use in SQL Statement in Execute SQL task&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
Insert into LoopsExample (IterationCount,DateLooped)&lt;br /&gt;
&lt;br /&gt;
Values(?,getdate())&lt;br /&gt;
&lt;br /&gt;
.&lt;img alt=&quot;Image1&quot; src=&quot;http://letslearnssis.files.wordpress.com/2011/07/5.jpg&quot; /&gt; That’s it, on executing the package we get following output ..&lt;br /&gt;
&lt;br /&gt;
As Expected :) and I hope you have learned some thing out of this..&lt;br /&gt;
&lt;br /&gt;
--By Learner..!!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://letslearnssis.blogspot.com/feeds/3573114523775628436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/loops-in-ssis-20052008.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/3573114523775628436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5019446838870469876/posts/default/3573114523775628436'/><link rel='alternate' type='text/html' href='http://letslearnssis.blogspot.com/2011/07/loops-in-ssis-20052008.html' title='Learn SSIS : For Loop in SSIS 2005/2008'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>