<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/4.0.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Data Management - Author(s): Koen Verbeeck</title>
		<link>http://blogs.lessthandot.com/index.php/DataMgmt/</link>
		<atom:link rel="self" type="application/rss+xml" href="http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2" />
		<description></description>
		<language>en-GB</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=4.0.3"/>
		<ttl>60</ttl>
				<item>
			<title>T-SQL Tuesday #42: The Long and Winding Road</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/t-sql-tuesday-42</link>
			<pubDate>Tue, 14 May 2013 06:23:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="main">Business Intelligence</category>			<guid isPermaLink="false">2194@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;a href=&quot;http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html&quot; target=&quot;_blank&quot;&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/media/users/koenverbeeck/TSQL2sday37/TSQL2sday.PNG?mtime=1355209029&quot; alt=&quot;&quot; width=&quot;133&quot; height=&quot;134&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;It&amp;#8217;s the second Tuesday of the month, which means it&amp;#8217;s time again for #TSQL2sday! It is the 42&lt;sup&gt;nd&lt;/sup&gt; installment of this blog post series and the subject is not about the &lt;em&gt;Answer to the Ultimate Question of Life, the Universe, and Everything&lt;/em&gt; as I hoped it would be, but about &lt;a href=&quot;http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html&quot;&gt;the long and winding road&lt;/a&gt; that is our work life and which technologies were key to our interests and successes. In this blog post I&amp;#8217;ll talk about how I got where I am now and how SSIS played a major role in it.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;About exactly 4 years ago I suddenly found myself out of a job during the financial crisis. I was an IT consultant with no specialization and little experience. Luckily I quickly found a new job through one of my ex-colleagues (always maintain your network people!) at a local BI consulting firm. I didn&amp;#8217;t know a thing about Business Intelligence (I had a bit of data mining and data warehousing in a course at university, but I can&amp;#8217;t really say it sticked), but fortunately the company was willing to invest in junior people. This is a really amazing thing to do, especially in times of crisis and I&amp;#8217;m very grateful for the opportunity they gave me. So the first thing they did was sending me to a couple of Microsoft trainings. I followed one on Analysis Services and I was really amazed by the product. I took another one about Integration Services and I was &amp;#8230; not so amazed. I don&amp;#8217;t really recall why, but the product just didn&amp;#8217;t strike a chord with me.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A few weeks later I was on my first BI project and my first assignment was: make some SSIS packages. I dreaded the task, but trying to make the most of it I dove into SSIS. And after I made my hands dirty with it and got over the initial learning curve, I suddenly fell in love with SSIS! I saw the possibilities the product has to offer and what amazing stuff you can do with it and I lost all the prejudices I had earlier. After some time I really wanted to expand my knowledge on SSIS, so I had the idea of answering questions about SSIS on forums. Because you learn the most about a subject by &amp;#8220;teaching&amp;#8221; it. By chance I noticed the SQLServerCentral newsletter in one of my colleagues&amp;#8217; inbox, so I thought: &amp;#8220;Why not that forum? Let&amp;#8217;s try it out.&amp;#8221; I went to SSC, registered myself and started answering questions.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Fast forward a few years. I switched jobs in the meantime but still work quite a lot with SSIS. Thanks to my involvement in SSC, I got to learn a lot of interesting people in the SQL Server community. I started giving sessions at conferences about SSIS, writing articles about it, giving trainings about it and as of late, writing blog posts about it. In a way, my passion for SSIS made me what I am today (in a professional way I mean). I still love SSIS and I like very much what Microsoft did with it in SQL Server 2012, but recently I&amp;#8217;m realizing writing ETL isn&amp;#8217;t the only thing that matters. I&amp;#8217;m slowly diving into the front-end of the BI solution, which is very interesting to work with. Right now I&amp;#8217;m learning more and more about SharePoint BI &amp;#8211; PowerPivot and Power View &amp;#8211; and my focus of blog posts is shifting in that direction. My next session I will give at an event will not be about SSIS, but about data visualization. In other words, I might be in yet another bend in the long and winding road that is my career in business intelligence. I&amp;#8217;m very curious to what the future will bring&amp;#8230;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/t-sql-tuesday-42&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html"></a></p>
<div class="image_block"><a href="http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html" target="_blank"><img style="float: left;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/TSQL2sday37/TSQL2sday.PNG?mtime=1355209029" alt="" width="133" height="134" /></a></div>
<p style="text-align: justify;">It&#8217;s the second Tuesday of the month, which means it&#8217;s time again for #TSQL2sday! It is the 42<sup>nd</sup> installment of this blog post series and the subject is not about the <em>Answer to the Ultimate Question of Life, the Universe, and Everything</em> as I hoped it would be, but about <a href="http://wendyverse.blogspot.be/2013/05/its-time-for-t-sqltuesday-42-long-and.html">the long and winding road</a> that is our work life and which technologies were key to our interests and successes. In this blog post I&#8217;ll talk about how I got where I am now and how SSIS played a major role in it.</p>
<p style="text-align: justify;">About exactly 4 years ago I suddenly found myself out of a job during the financial crisis. I was an IT consultant with no specialization and little experience. Luckily I quickly found a new job through one of my ex-colleagues (always maintain your network people!) at a local BI consulting firm. I didn&#8217;t know a thing about Business Intelligence (I had a bit of data mining and data warehousing in a course at university, but I can&#8217;t really say it sticked), but fortunately the company was willing to invest in junior people. This is a really amazing thing to do, especially in times of crisis and I&#8217;m very grateful for the opportunity they gave me. So the first thing they did was sending me to a couple of Microsoft trainings. I followed one on Analysis Services and I was really amazed by the product. I took another one about Integration Services and I was &#8230; not so amazed. I don&#8217;t really recall why, but the product just didn&#8217;t strike a chord with me.</p>
<p style="text-align: justify;">A few weeks later I was on my first BI project and my first assignment was: make some SSIS packages. I dreaded the task, but trying to make the most of it I dove into SSIS. And after I made my hands dirty with it and got over the initial learning curve, I suddenly fell in love with SSIS! I saw the possibilities the product has to offer and what amazing stuff you can do with it and I lost all the prejudices I had earlier. After some time I really wanted to expand my knowledge on SSIS, so I had the idea of answering questions about SSIS on forums. Because you learn the most about a subject by &#8220;teaching&#8221; it. By chance I noticed the SQLServerCentral newsletter in one of my colleagues&#8217; inbox, so I thought: &#8220;Why not that forum? Let&#8217;s try it out.&#8221; I went to SSC, registered myself and started answering questions.</p>
<p style="text-align: justify;">Fast forward a few years. I switched jobs in the meantime but still work quite a lot with SSIS. Thanks to my involvement in SSC, I got to learn a lot of interesting people in the SQL Server community. I started giving sessions at conferences about SSIS, writing articles about it, giving trainings about it and as of late, writing blog posts about it. In a way, my passion for SSIS made me what I am today (in a professional way I mean). I still love SSIS and I like very much what Microsoft did with it in SQL Server 2012, but recently I&#8217;m realizing writing ETL isn&#8217;t the only thing that matters. I&#8217;m slowly diving into the front-end of the BI solution, which is very interesting to work with. Right now I&#8217;m learning more and more about SharePoint BI &#8211; PowerPivot and Power View &#8211; and my focus of blog posts is shifting in that direction. My next session I will give at an event will not be about SSIS, but about data visualization. In other words, I might be in yet another bend in the long and winding road that is my career in business intelligence. I&#8217;m very curious to what the future will bring&#8230;</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/t-sql-tuesday-42">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/t-sql-tuesday-42#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2194</wfw:commentRss>
		</item>
				<item>
			<title>Modify a Power View Data Source</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/modify-power-view-data-source</link>
			<pubDate>Wed, 08 May 2013 08:11:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="main">Business Intelligence</category>			<guid isPermaLink="false">2193@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;I&amp;#8217;m currently setting up a demo environment using SQL Server 2012 and SharePoint 2013 (more on that in later blog posts). This gives me the chance to play around with Power View for SharePoint and I absolutely love it. I ran into an issue however because the Windows Authentication wasn&amp;#8217;t working properly. When I view a Power View report I get the following error:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;An error occurred while loading the model for the item or data source &#039;EntityDataSource&#039;. Verify that the connection information is correct and that you have permissions to access the data source.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/errorbis.png?mtime=1367999572&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/errorbis.png?mtime=1367999572&quot; alt=&quot;&quot; width=&quot;802&quot; height=&quot;361&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Not exactly what you want to encounter when giving a sales demo. So I had two options: either deal with Windows Token Claims / Kerberos or set up an unattended account to run the report. Since I&amp;#8217;d rather jab myself in the eye with a rusty nail then dealing with Kerberos, I chose the last option. Setting up an unattended account is my preferred method for authentication, as it gives the least amount of troubles. I do it for Reporting Services reports and PowerPivot workbooks, so I&amp;#8217;d also like to do it for Power View as well.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So how do you modify a Power View data source? Luckily it&amp;#8217;s pretty straight forward if you know where to look. Go to the library where your Power View report is stored.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_01.png?mtime=1367999585&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_01.png?mtime=1367999585&quot; alt=&quot;&quot; width=&quot;608&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;In the Library ribbon, set the Current View to &lt;/span&gt;&lt;em&gt;All Documents.&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; Click on the down arrow of the report you wish to edit and select &lt;/span&gt;&lt;em&gt;Manage Data Sources&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_02.png?mtime=1367999606&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_02.png?mtime=1367999606&quot; alt=&quot;&quot; width=&quot;567&quot; height=&quot;306&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Click on &lt;/span&gt;&lt;strong&gt;EntityDataSource&lt;/strong&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_03.png?mtime=1367999616&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_03.png?mtime=1367999616&quot; alt=&quot;&quot; width=&quot;470&quot; height=&quot;141&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Here we can finally modify the data source. You can choose a shared data source, modify the connection string (a PowerPivot workbook in my case) and set the credentials, which we are interested in. Fill in a user name and password under &lt;/span&gt;&lt;em&gt;Stored Credentials&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; to specify an unattended execution account. Don&amp;#8217;t forget to check the &lt;/span&gt;&lt;em&gt;Use as Windows credentials&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; checkbox.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_04.png?mtime=1368000128&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_04.png?mtime=1368000128&quot; alt=&quot;&quot; width=&quot;616&quot; height=&quot;548&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Note: my demo environment has only one user: the Administrator. This is OK because it is &amp;#8211; in fact &amp;#8211; a demo environment. Please do not specify administrator credentials in a production environment (especially if you pay attention to the nice red warning on top). Use a dedicated domain account.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Click OK and go back to your SharePoint page. The report now renders successfully! It is as easy as that.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_05.png?mtime=1368000136&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/PowerViewDataSource/library_05.png?mtime=1368000136&quot; alt=&quot;&quot; width=&quot;715&quot; height=&quot;471&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/modify-power-view-data-source&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">I&#8217;m currently setting up a demo environment using SQL Server 2012 and SharePoint 2013 (more on that in later blog posts). This gives me the chance to play around with Power View for SharePoint and I absolutely love it. I ran into an issue however because the Windows Authentication wasn&#8217;t working properly. When I view a Power View report I get the following error:</p>
<p style="text-align: justify;"><em>An error occurred while loading the model for the item or data source 'EntityDataSource'. Verify that the connection information is correct and that you have permissions to access the data source.</em></p>
<p><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/errorbis.png?mtime=1367999572"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/errorbis.png?mtime=1367999572" alt="" width="802" height="361" /></a></p>
<p><span style="text-align: justify;">Not exactly what you want to encounter when giving a sales demo. So I had two options: either deal with Windows Token Claims / Kerberos or set up an unattended account to run the report. Since I&#8217;d rather jab myself in the eye with a rusty nail then dealing with Kerberos, I chose the last option. Setting up an unattended account is my preferred method for authentication, as it gives the least amount of troubles. I do it for Reporting Services reports and PowerPivot workbooks, so I&#8217;d also like to do it for Power View as well.</span></p>
<p style="text-align: justify;">So how do you modify a Power View data source? Luckily it&#8217;s pretty straight forward if you know where to look. Go to the library where your Power View report is stored.</p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_01.png?mtime=1367999585"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_01.png?mtime=1367999585" alt="" width="608" height="375" /></a></p>
<p><span style="text-align: justify;">In the Library ribbon, set the Current View to </span><em>All Documents.</em><span style="text-align: justify;"> Click on the down arrow of the report you wish to edit and select </span><em>Manage Data Sources</em><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_02.png?mtime=1367999606"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_02.png?mtime=1367999606" alt="" width="567" height="306" /></a></p>
<p><span style="text-align: justify;">Click on </span><strong>EntityDataSource</strong><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_03.png?mtime=1367999616"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_03.png?mtime=1367999616" alt="" width="470" height="141" /></a></p>
<p><span style="text-align: justify;">Here we can finally modify the data source. You can choose a shared data source, modify the connection string (a PowerPivot workbook in my case) and set the credentials, which we are interested in. Fill in a user name and password under </span><em>Stored Credentials</em><span style="text-align: justify;"> to specify an unattended execution account. Don&#8217;t forget to check the </span><em>Use as Windows credentials</em><span style="text-align: justify;"> checkbox.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_04.png?mtime=1368000128"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_04.png?mtime=1368000128" alt="" width="616" height="548" /></a></p>
<p><span style="text-align: justify;">Note: my demo environment has only one user: the Administrator. This is OK because it is &#8211; in fact &#8211; a demo environment. Please do not specify administrator credentials in a production environment (especially if you pay attention to the nice red warning on top). Use a dedicated domain account.</span></p>
<p style="text-align: justify;">Click OK and go back to your SharePoint page. The report now renders successfully! It is as easy as that.</p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_05.png?mtime=1368000136"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/PowerViewDataSource/library_05.png?mtime=1368000136" alt="" width="715" height="471" /></a></p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/modify-power-view-data-source">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/modify-power-view-data-source#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2193</wfw:commentRss>
		</item>
				<item>
			<title>Error while enabling Windows Feature: Netfx3</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/error-while-enabling-netfx3</link>
			<pubDate>Mon, 29 Apr 2013 07:43:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="main">Business Intelligence</category>			<guid isPermaLink="false">2184@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Recently I was setting up a virtual machine environment to do some demo&amp;#8217;s. One of the virtual machines would be the home for a SQL Server database engine supporting a SharePoint 2013 farm. Since it is a back-end database, the server was not connected to the Internet. Instead, it was connected to the other servers through the Hyper-V internal network.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;During the installation of SQL Server on this machine, I got the following error:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;Error while enabling Windows Feature: Netfx3&lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/error.png?mtime=1366956522&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/error.png?mtime=1366956522&quot; alt=&quot;&quot; width=&quot;702&quot; height=&quot;303&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;A quick search on the Web taught me this is the activation of .NET 3.5. I knew this was a prerequisite for SQL Server. In the past you had to enable this before you started the SQL Server set-up, but nowadays the set-up does this for you. Aren&amp;#8217;t we spoiled? Also keep in mind enabling .NET 4.5 isn&amp;#8217;t enough: the 3.5 version has to be explicitly enabled.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Why did it crash now and not in all my previous installations of SQL Server? It seemed the SQL Server set-up could locate the sources to install .NET 3.5. Normally it would try to download them, but since the machine was not connected to the Internet this failed as well, resulting in the error.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Luckily it is very easy to enable .NET 3.5 using the GUI. In your Server Manager, click on &lt;em&gt;Add roles and features.&lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_01.png?mtime=1366956829&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_01.png?mtime=1366956829&quot; alt=&quot;&quot; width=&quot;353&quot; height=&quot;226&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Choose for &lt;/span&gt;&lt;em&gt;Role-based or feature-based installation&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_02.png?mtime=1366957070&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_02.png?mtime=1366957070&quot; alt=&quot;&quot; width=&quot;556&quot; height=&quot;390&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Choose the correct server, skip the Server Roles and click &lt;/span&gt;&lt;em&gt;Next&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; until you&amp;#8217;re on the Features page. Select &lt;/span&gt;&lt;em&gt;.NET Framework 3.5 Features&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; and click &lt;/span&gt;&lt;em&gt;Next&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_05.png?mtime=1366957100&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_05.png?mtime=1366957100&quot; alt=&quot;&quot; width=&quot;553&quot; height=&quot;392&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;On the installation page you&amp;#8217;ll be confronted with a warning that the source files are missing. Fortunately you can specify an alternate source path at the bottom.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_06.png?mtime=1366957131&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_06.png?mtime=1366957131&quot; alt=&quot;&quot; width=&quot;553&quot; height=&quot;390&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Click on the link and specify the path to the &lt;/span&gt;&lt;em&gt;sources\sxs&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; folder on your Windows Server 2012 media. In my case this was on the D: drive, which is the DVD drive.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_07.png?mtime=1366957139&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_07.png?mtime=1366957139&quot; alt=&quot;&quot; width=&quot;449&quot; height=&quot;351&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Hit &lt;/span&gt;&lt;em&gt;OK&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; and on the Installation page, click &lt;/span&gt;&lt;em&gt;Install&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;. The .NET framework 3.5 will now be installed.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_09.png?mtime=1366957167&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/EnableNetfx3/InstallSQL_09.png?mtime=1366957167&quot; alt=&quot;&quot; width=&quot;556&quot; height=&quot;392&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;After the set-up, you can now re-launch the SQL Server set-up!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;For the command line geeks amongst us, read the following &lt;a href=&quot;http://garvis.ca/2013/01/04/installing-netfx3-on-windows-server-2012/&quot;&gt;blog post&lt;/a&gt; on how to enable .NET 3.5 using &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/dd371719(v=vs.85).aspx&quot;&gt;dism&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/error-while-enabling-netfx3&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Recently I was setting up a virtual machine environment to do some demo&#8217;s. One of the virtual machines would be the home for a SQL Server database engine supporting a SharePoint 2013 farm. Since it is a back-end database, the server was not connected to the Internet. Instead, it was connected to the other servers through the Hyper-V internal network.</p>
<p style="text-align: justify;">During the installation of SQL Server on this machine, I got the following error:</p>
<p style="text-align: justify;"><em>Error while enabling Windows Feature: Netfx3</em></p>
<p style="text-align: justify;">
<a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/error.png?mtime=1366956522"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/error.png?mtime=1366956522" alt="" width="702" height="303" /></a></p>
<p><span style="text-align: justify;">A quick search on the Web taught me this is the activation of .NET 3.5. I knew this was a prerequisite for SQL Server. In the past you had to enable this before you started the SQL Server set-up, but nowadays the set-up does this for you. Aren&#8217;t we spoiled? Also keep in mind enabling .NET 4.5 isn&#8217;t enough: the 3.5 version has to be explicitly enabled.</span></p>
<p style="text-align: justify;">Why did it crash now and not in all my previous installations of SQL Server? It seemed the SQL Server set-up could locate the sources to install .NET 3.5. Normally it would try to download them, but since the machine was not connected to the Internet this failed as well, resulting in the error.</p>
<p style="text-align: justify;">Luckily it is very easy to enable .NET 3.5 using the GUI. In your Server Manager, click on <em>Add roles and features.</em></p>
<p style="text-align: justify;">
<a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_01.png?mtime=1366956829"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_01.png?mtime=1366956829" alt="" width="353" height="226" /></a></p>
<p><span style="text-align: justify;">Choose for </span><em>Role-based or feature-based installation</em><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_02.png?mtime=1366957070"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_02.png?mtime=1366957070" alt="" width="556" height="390" /></a></p>
<p><span style="text-align: justify;">Choose the correct server, skip the Server Roles and click </span><em>Next</em><span style="text-align: justify;"> until you&#8217;re on the Features page. Select </span><em>.NET Framework 3.5 Features</em><span style="text-align: justify;"> and click </span><em>Next</em><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_05.png?mtime=1366957100"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_05.png?mtime=1366957100" alt="" width="553" height="392" /></a></p>
<p><span style="text-align: justify;">On the installation page you&#8217;ll be confronted with a warning that the source files are missing. Fortunately you can specify an alternate source path at the bottom.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_06.png?mtime=1366957131"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_06.png?mtime=1366957131" alt="" width="553" height="390" /></a></p>
<p><span style="text-align: justify;">Click on the link and specify the path to the </span><em>sources\sxs</em><span style="text-align: justify;"> folder on your Windows Server 2012 media. In my case this was on the D: drive, which is the DVD drive.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_07.png?mtime=1366957139"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_07.png?mtime=1366957139" alt="" width="449" height="351" /></a></p>
<p><span style="text-align: justify;">Hit </span><em>OK</em><span style="text-align: justify;"> and on the Installation page, click </span><em>Install</em><span style="text-align: justify;">. The .NET framework 3.5 will now be installed.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_09.png?mtime=1366957167"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/EnableNetfx3/InstallSQL_09.png?mtime=1366957167" alt="" width="556" height="392" /></a></p>
<p><span style="text-align: justify;">After the set-up, you can now re-launch the SQL Server set-up!</span></p>
<p style="text-align: justify;">For the command line geeks amongst us, read the following <a href="http://garvis.ca/2013/01/04/installing-netfx3-on-windows-server-2012/">blog post</a> on how to enable .NET 3.5 using <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/dd371719(v=vs.85).aspx">dism</a>.</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/error-while-enabling-netfx3">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/error-while-enabling-netfx3#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2184</wfw:commentRss>
		</item>
				<item>
			<title>Force installation of 64-bit ACE OLE DB provider</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/ssis/force-ace-installation</link>
			<pubDate>Tue, 23 Apr 2013 06:49:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Microsoft SQL Server</category>
<category domain="main">SSIS</category>			<guid isPermaLink="false">2182@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Anyone working with SSIS and Excel probably had the following issue: you are creating an SSIS package using an Excel file in BIDS/SSDT &amp;#8211; which is a 32-bit application &amp;#8211; and when you try to run the package, it crashes. This is easily fixed by setting the project property &lt;em&gt;Run64BitRuntime&lt;/em&gt; to False. The package now runs in 32-bit mode and uses the 32-bit ACE OLE DB provider which was installed alongside Office (if you installed the 32-bit version at least).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;If you want to run the package in a SQL Server job, you&amp;#8217;d need to set the job step to use the 32-bit version by selecting the checkbox &lt;em&gt;Use 32-bit runtime&lt;/em&gt; in the Execution options in SQL Server 2008 or later, or by using the 32-bit version of DTEXEC in the command line arguments in SQL Server 2005. (For an overview, check out this excellent blog post by Todd McDermid (&lt;a href=&quot;http://toddmcdermid.blogspot.be/&quot;&gt;blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/Todd_McDermid&quot;&gt;twitter&lt;/a&gt;): &lt;a href=&quot;http://toddmcdermid.blogspot.be/2009/10/quick-reference-ssis-in-32-and-64-bits.html&quot;&gt;Quick Reference: SSIS in 32- and 64-bits&lt;/a&gt;)&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;But what if you want to run the package in 64-bit mode? Easy, you install the 64-bit ACE OLE DB provider which you can download &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=13255&quot;&gt;here&lt;/a&gt;. Note that there isn&amp;#8217;t a 64-bit version available for the 2007 redistributable and that at the time of writing the 2013 version hasn&amp;#8217;t been released at all. With the 64-bit provider installed, you can run your packages on a 64-bit server.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;If you don&amp;#8217;t install the provider, you get the following error when you try to run such a package on a 64-bit SQL Server:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. &amp;#8230; Description: &amp;#8220;Class not registered&amp;#8221;&lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;em&gt;&lt;a href=&quot;/media/users/koenverbeeck/ForceACE/ExecutionResult_2.png?mtime=1366689582&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/ForceACE/ExecutionResult_2.png?mtime=1366689582&quot; alt=&quot;&quot; width=&quot;857&quot; height=&quot;137&quot; /&gt;&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;However, if Office is installed in the 32-bit version, the installation of the 64-bit ACE OLE DB provider fails with the following message:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;You cannot install the 64-bit version of Microsoft Access Database Engine 2010 because you currently have 32-bit Office products installed.&lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;em&gt;&lt;a href=&quot;/media/users/koenverbeeck/ForceACE/Error_64.png?mtime=1366689573&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/ForceACE/Error_64.png?mtime=1366689573&quot; alt=&quot;&quot; width=&quot;362&quot; height=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/em&gt;&lt;/div&gt;
&lt;p&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;It basically tells us to uninstall Office before you can proceed with the installation. The funny part is that when I try to install the 32-bit version of the ACE OLE DB provider, I&amp;#8217;m greeted with the same message:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&amp;#160;&lt;/p&gt;
&lt;div class=&quot;image_block&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/ForceACE/Error_32.png?mtime=1366689566&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/ForceACE/Error_32.png?mtime=1366689566&quot; alt=&quot;&quot; width=&quot;362&quot; height=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Apparently a teensy-weensy part of Office was installed in 64-bit, so I can&amp;#8217;t install the 32-bit provider either. Normally you wouldn&amp;#8217;t have these problems on a production server, as no Office components are installed. But what if you want to test your SQL Server Agent job on your development machine? Or what if you are reading the Excel file using an OPENROWSET command in SSMS? You need that 64-bit provider badly!&lt;/p&gt;
&lt;p&gt;Luckily I came across a solution offered by Lowell in this &lt;a href=&quot;http://www.sqlservercentral.com/Forums/Topic1407044-391-1.aspx&quot;&gt;thread&lt;/a&gt;: apparently it works when you install the provider through the command line. All you need to do is add the &lt;strong&gt;/passive&lt;/strong&gt; switch and the installation runs without an issue.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s test if this solves our issue. I created a simple SSIS package reading from an Excel file. Nothing too fancy.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/ForceACE/BIDS_Setup.png?mtime=1366689558&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/ForceACE/BIDS_Setup.png?mtime=1366689558&quot; alt=&quot;&quot; width=&quot;547&quot; height=&quot;304&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When I deploy it to the SSIS catalog and execute it in 64-bit, I see the package has ran successfully:&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/ForceACE/ExecutionResult_3.png?mtime=1366689588&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/ForceACE/ExecutionResult_3.png?mtime=1366689588&quot; alt=&quot;&quot; width=&quot;307&quot; height=&quot;162&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s interesting is that on my new laptop, which has Office 2013 64-bit installed, I could install the 32-bit provider without an issue. So maybe the Office team fixed the issue in their latest release.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This blog post shows a very simple solution on how to solve a very common problem with SSIS and Excel. I&amp;#8217;d like to thank Lowell for pointing me out to this solution in the thread I mentioned earlier.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Update: Installing both the providers on the same machine with Office components installed doesn&#039;t mean your life is issue-free from now on. Apparently this set-up can cause issues in other places. Check out the comments for more details.&lt;/em&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/ssis/force-ace-installation&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Anyone working with SSIS and Excel probably had the following issue: you are creating an SSIS package using an Excel file in BIDS/SSDT &#8211; which is a 32-bit application &#8211; and when you try to run the package, it crashes. This is easily fixed by setting the project property <em>Run64BitRuntime</em> to False. The package now runs in 32-bit mode and uses the 32-bit ACE OLE DB provider which was installed alongside Office (if you installed the 32-bit version at least).</p>
<p style="text-align: justify;">If you want to run the package in a SQL Server job, you&#8217;d need to set the job step to use the 32-bit version by selecting the checkbox <em>Use 32-bit runtime</em> in the Execution options in SQL Server 2008 or later, or by using the 32-bit version of DTEXEC in the command line arguments in SQL Server 2005. (For an overview, check out this excellent blog post by Todd McDermid (<a href="http://toddmcdermid.blogspot.be/">blog</a> | <a href="https://twitter.com/Todd_McDermid">twitter</a>): <a href="http://toddmcdermid.blogspot.be/2009/10/quick-reference-ssis-in-32-and-64-bits.html">Quick Reference: SSIS in 32- and 64-bits</a>)</p>
<p style="text-align: justify;">But what if you want to run the package in 64-bit mode? Easy, you install the 64-bit ACE OLE DB provider which you can download <a href="http://www.microsoft.com/en-us/download/details.aspx?id=13255">here</a>. Note that there isn&#8217;t a 64-bit version available for the 2007 redistributable and that at the time of writing the 2013 version hasn&#8217;t been released at all. With the 64-bit provider installed, you can run your packages on a 64-bit server.</p>
<p style="text-align: justify;">If you don&#8217;t install the provider, you get the following error when you try to run such a package on a 64-bit SQL Server:</p>
<p style="text-align: justify;"><em>The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered. If the 64-bit driver is not installed, run the package in 32-bit mode. &#8230; Description: &#8220;Class not registered&#8221;</em></p>
<p style="text-align: justify;"><em> </em></p>
<div class="image_block"><em><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/ExecutionResult_2.png?mtime=1366689582"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/ExecutionResult_2.png?mtime=1366689582" alt="" width="857" height="137" /></a></em></div>
<p><span style="text-align: justify;">However, if Office is installed in the 32-bit version, the installation of the 64-bit ACE OLE DB provider fails with the following message:</span></p>
<p style="text-align: justify;"><em>You cannot install the 64-bit version of Microsoft Access Database Engine 2010 because you currently have 32-bit Office products installed.</em></p>
<p style="text-align: justify;"><em> </em></p>
<div class="image_block"><em><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/Error_64.png?mtime=1366689573"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/Error_64.png?mtime=1366689573" alt="" width="362" height="190" /></a></em></div>
<p><em> </em></p>
<p><span style="text-align: justify;">It basically tells us to uninstall Office before you can proceed with the installation. The funny part is that when I try to install the 32-bit version of the ACE OLE DB provider, I&#8217;m greeted with the same message:</span></p>
<p style="text-align: justify;">&#160;</p>
<div class="image_block"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/Error_32.png?mtime=1366689566"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/Error_32.png?mtime=1366689566" alt="" width="362" height="190" /></a></div>
<p>Apparently a teensy-weensy part of Office was installed in 64-bit, so I can&#8217;t install the 32-bit provider either. Normally you wouldn&#8217;t have these problems on a production server, as no Office components are installed. But what if you want to test your SQL Server Agent job on your development machine? Or what if you are reading the Excel file using an OPENROWSET command in SSMS? You need that 64-bit provider badly!</p>
<p>Luckily I came across a solution offered by Lowell in this <a href="http://www.sqlservercentral.com/Forums/Topic1407044-391-1.aspx">thread</a>: apparently it works when you install the provider through the command line. All you need to do is add the <strong>/passive</strong> switch and the installation runs without an issue.</p>
<p>Let&#8217;s test if this solves our issue. I created a simple SSIS package reading from an Excel file. Nothing too fancy.</p>
<p style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/BIDS_Setup.png?mtime=1366689558"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/BIDS_Setup.png?mtime=1366689558" alt="" width="547" height="304" /></a></p>
<p>When I deploy it to the SSIS catalog and execute it in 64-bit, I see the package has ran successfully:</p>
<p style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/ExecutionResult_3.png?mtime=1366689588"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/ForceACE/ExecutionResult_3.png?mtime=1366689588" alt="" width="307" height="162" /></a></p>
<p>What&#8217;s interesting is that on my new laptop, which has Office 2013 64-bit installed, I could install the 32-bit provider without an issue. So maybe the Office team fixed the issue in their latest release.</p>
<p><strong>Conclusion</strong></p>
<p>This blog post shows a very simple solution on how to solve a very common problem with SSIS and Excel. I&#8217;d like to thank Lowell for pointing me out to this solution in the thread I mentioned earlier.</p>
<p><em>Update: Installing both the providers on the same machine with Office components installed doesn't mean your life is issue-free from now on. Apparently this set-up can cause issues in other places. Check out the comments for more details.</em></p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/ssis/force-ace-installation">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/ssis/force-ace-installation#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2182</wfw:commentRss>
		</item>
				<item>
			<title>How I prepared myself for the MCSE certification</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/how-i-prepared-mcse</link>
			<pubDate>Thu, 04 Apr 2013 07:31:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="main">Microsoft SQL Server</category>
<category domain="alt">Business Intelligence</category>			<guid isPermaLink="false">2170@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Last week I took the final exam to acquire the &lt;a href=&quot;http://www.microsoft.com/learning/en/us/mcse-sql-business-intelligence.aspx#fbid=EmSJ9xHTLm0&quot;&gt;MCSE &amp;#8211; Business Intelligence&lt;/a&gt; certification. This blog post describes my preparation for all of the exams. It is not a strict guideline of course, it&amp;#8217;s just what suited best for me.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The MCSE certification exists of 5 separate exams, of which the first 3 grant you the &lt;a href=&quot;http://www.microsoft.com/learning/en/us/mcsa-sql-certification.aspx#fbid=EmSJ9xHTLm0&quot;&gt;MCSA SQL Server&lt;/a&gt; certification. These are the following:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;
&lt;li&gt;70-461: Querying Microsoft SQL Server 2012&lt;/li&gt;
&lt;li&gt;70-462: Administering Microsoft SQL Server 2012 Databases&lt;/li&gt;
&lt;li&gt;70-463: Implementing a Data Warehouse with Microsoft SQL Server 2012&lt;/li&gt;
&lt;li&gt;70-466: Implementing Data Models and Reports with Microsoft SQL Server 2012&lt;/li&gt;
&lt;li&gt;70-467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;/media/users/koenverbeeck/MCSEPrep/MCSE.jpg?mtime=1365060226&quot;&gt;&lt;img style=&quot;float: left; margin-left: 10px; margin-right: 10px;&quot; src=&quot;/media/users/koenverbeeck/MCSEPrep/MCSE.jpg?mtime=1365060226&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;171&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: justify;&quot;&gt;The MCSA exams are the same for everyone; it doesn&amp;#8217;t matter if you are going for the MCSE &amp;#8211; Business Intelligence or for MCSE &amp;#8211; Data Platform. Personally I like this decision, as everyone with the MCSA has the same common ground in the SQL Server platform. There&amp;#8217;s always some overlap between the tasks a specific role is supposed to do. For example, DBA&amp;#8217;s need SSIS from time to time to move data around and BI developers might need to set-up replication to feed a reporting database. Forcing everyone to do the same exams ensures certification holders have a certain skill set in the most important aspects of SQL Server.&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Before I started my certification spree on SQL Server 2012, I already had the three MCTS certifications for SQL Server 2008 (BI, DBA en database developer) and the MCITP: Business Intelligence Developer 2008. So I only had to refresh the older material - especially the DBA stuff &amp;#8211; and learn all the new features. Why didn&amp;#8217;t I took the upgrade exams? Because I like to challenge myself and I wanted to make sure I learned as much as possible in the progress.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;70-463&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This is the first exam that I took. It deals mostly with SSIS, but has also some sections about DQS, MDS and dimensional modeling. I took this exam a year ago in beta, so there were no preparation materials available. Luckily I consider myself quite proficient in SSIS, so I didn&amp;#8217;t need much preparation. After all, if you are going for one of the MCSE certifications, you should have at least one specialization in the SQL Server stack.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I learned about the new SSIS features (which was Denali CTP1 at the time) by giving a session on the Belgian SQL Server Days in 2011:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/video/working-with-the-new-project-deployment-model-in-ssis-for-dummies-smarties.aspx&quot;&gt;&lt;em&gt;Working with the New Project Deployment Model in SSIS for Dummies/Smarties&lt;/em&gt;&lt;/a&gt;&lt;em&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;You learn a lot about something by trying to teach others about it. Of course I also read a lot of blog posts about the subject, of which most of them are mentioned in the video. I gave the same presentation again for the SQLLunchUK user group, but this time through a LiveMeeting.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A few years back I read &lt;a href=&quot;http://www.amazon.com/The-Data-Warehouse-Toolkit-Dimensional/dp/0471200247/ref=sr_1_1?ie=UTF8&amp;amp;qid=1364556640&amp;amp;sr=8-1&amp;amp;keywords=data+warehouse+toolkit&quot;&gt;The Data Warehouse Toolkit&lt;/a&gt; by Ralph Kimball. Every serious BI professional should read this book, even if you are an adept Inmon follower. This book gives you all the details you need about dimensional modeling: star schemas, slowly changing dimensions, table grains et cetera. Microsoft relies heavily on the Kimball approach, in the data warehouse design but also in Analysis Services Multidimensional.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Regarding Data Quality Services (DQS), I also mastered the basics by giving a session. This time a webinar for the Belgian 12 Hours of SQL:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;http://technet.microsoft.com/en-us/video/an-introduction-to-data-quality-services-dqs.aspx&quot;&gt;&lt;em&gt;An introduction to Data Quality Services (DQS)&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Most information about DQS I got from MSDN articles, such as these &lt;a href=&quot;http://technet.microsoft.com/en-us/sqlserver/jj737674&quot;&gt;How-To videos&lt;/a&gt;, and from TechEd videos, like this excellent one from Elad Ziklik: &lt;a href=&quot;http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DBI207&quot;&gt;Using Knowledge to Cleanse Data with Data Quality Services&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The last item on the list for this exam is Master Data Services (MDS). Since it only takes a small percentage of the questions and I&amp;#8217;m not really convinced by the product &amp;#8211; to be honest &amp;#8211; I didn&amp;#8217;t put much investigation to it. I read the free e-book Introducing &lt;a href=&quot;http://www.amazon.com/Introducing-Microsoft-SQL-Server-2012/dp/073566515X/ref=sr_1_1?ie=UTF8&quot;&gt;Microsoft SQL Server 2012&lt;/a&gt; to get me up to speed with all the changes of MDS since the previous version. I also did a tutorial from the &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=27721&quot;&gt;SQL Server 2012 training kit&lt;/a&gt;, so I at least knew how to handle the product.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The exam itself went pretty well, although I struggled a bit with the &lt;a href=&quot;http://mediadl.microsoft.com/mediadl/www/l/learning/video/certification/exam/repeated_answer_series.wmv&quot;&gt;Repeated Answer Choices&lt;/a&gt; questions, since it was the first time I ever saw those type of questions and took a few seconds before I realized what was going on J&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;70-461&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Every person working closely with SQL Server, be it a DBA, a database developer or a BI developer, should know at least the basics of T-SQL. So this exam shouldn&amp;#8217;t be too hard for most people. To prepare myself, I read the book &lt;a href=&quot;http://www.amazon.com/Microsoft-Server-High-Performance-Window-Functions/dp/0735658366/ref=sr_1_3?ie=UTF8&quot;&gt;SQL Server 2012 High-Performance T-SQL Using Window Functions&lt;/a&gt; by Itzik Ben-Gan to learn more about the windowing functions introduced in SQL Server 2012. I can absolutely recommend this book to everyone to get up to speed with Windowing Functions in SQL Server. Itzik really does a great job by explaining all the concepts very clearly and uses a lot of practical examples. A must-read.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Next I read blog posts and MSDN articles about the new T-SQL functionality, such as TRY_PARSE, THROW and LAG/LEAD. &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/09f0096e-ab95-4be0-8c01-f98753255747&quot;&gt;This MSDN page&lt;/a&gt; gives a nice overview. Since the exam might contain questions that require you to write code, I refreshed my knowledge on the syntax of the several TSQL statements. Finally I re-read the chapters about T-SQL of the &lt;a href=&quot;http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-433/dp/0735626391/ref=sr_1_1?ie=UTF8&quot;&gt;training kit for the 70-433 exam&lt;/a&gt;, especially the one about XML. Because you know, I use this everyday so I&amp;#8217;m an expert at it (uh-hum. Irony).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I passed the exam on the first try, but I have to admit that the code writing questions are harder than it seems when you have no MSDN pages available to check your syntax.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;70-462&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This was the exam I feared the most. I&amp;#8217;m certainly no DBA and although I already had the MCTS for administrating SQL Server 2008, I had to relearn almost everything again as I didn&amp;#8217;t have much real-time practice regarding administration. So I took my time preparing myself for the exam, going over the &lt;a href=&quot;http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-433/dp/0735626391/ref=sr_1_1?ie=UTF8&quot;&gt;training kit&lt;/a&gt; a few times and watching some TechEd videos on Channel9.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I did all the exercises of the training kit by setting up a virtual environment with a few servers using HyperV and doing all the DBA stuff such as mirroring, replication database, taking back-ups et cetera. The training kit briefly describes how to set this environment up, but it really doesn&amp;#8217;t go in too much detail, so you&amp;#8217;re pretty much on your own. If you have never heard of differencing disks for virtual machines before &amp;#8211; like I did &amp;#8211; prepare yourself to do some research. There was especially no information on how to set-up the networking, which appears to be crucial when you went to set-up clustering, as you need to have multiple networks. I briefly go over my set-up in this &lt;a href=&quot;http://www.sqlservercentral.com/Forums/Topic1377933-10-1.aspx#bm1421996&quot;&gt;forum thread&lt;/a&gt;. The training kit and the matching practice tests also have some errors, so make sure to check out the &lt;a href=&quot;http://oreilly.com/catalog/errataunconfirmed.csp?isbn=0790145345134&quot;&gt;Errata&lt;/a&gt; page of the book.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The &lt;a href=&quot;http://www.microsoft.com/learning/en/us/certification-exams.aspx#fbid=HsP2QW2phvi&quot;&gt;new types of exam questions&lt;/a&gt; (check the section &lt;em&gt;Exam formats and question types&lt;/em&gt;) also include drag-and-drop questions, so I focused on learning the correct sequence to do something. For example, how to set up mirroring, replication or Availability Groups, how to do a partial restore, how to upgrade a cluster et cetera.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;All in all the training kit did a good job preparing me for the exam, as I passed it on the first try, but my score really wasn&amp;#8217;t that impressive. But hey, what do you expect from a BI guy J Finishing this exam gave me the MCSA certification.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;70-466&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;After a few months of well deserved &amp;#8220;non-studying for exams&amp;#8221; I decided to pick up the pace again and to start preparing for the 70-466 exam. I was in between projects at the time, so it was excellent timing to get some studying done.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I started by reading the excellent book &lt;a href=&quot;http://www.amazon.com/Microsoft-Server-2012-Analysis-Services/dp/0735658188/ref=sr_1_1?ie=UTF8&quot;&gt;Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model&lt;/a&gt; by SSAS Maestros Chris Webb, Alberto Ferrari and Marco Russo, which comes at a whopping 656 pages. It&amp;#8217;s a great book and it will teach you everything you need to know about tabular models and DAX, but actually it&amp;#8217;s much too detailed for just exam preparation. But hey, a little too much knowledge doesn&amp;#8217;t hurt anyone, right? So if you just want to get up to speed with SSAS tabular you can skip a few chapters, such as DAX Advanced for example.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;For SSAS multidimensional and Reporting Services, I just re-read the relevant chapters of &lt;a href=&quot;http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-448/dp/0735626367/ref=sr_1_1?ie=UTF8&quot;&gt;the 70-448 training kit&lt;/a&gt;, giving more attention to features I don&amp;#8217;t use a lot, like pro-active caching, MDX (I know, sorry Chris Webb) and administrating SSAS and SSRS servers. I skipped the data mining chapter, as it apparently didn&amp;#8217;t make the exam &lt;em&gt;Skills Measured&lt;/em&gt; section. I digged deeper into SSAS and SSRS administration by reading relevant blogs and MSDN articles, such as &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms157403.aspx&quot;&gt;Reporting Services Execution and Trace Logging&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The exam went pretty well on the first try and thus I had only one exam left for the MCSE certification!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;70-467&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The exam was really interesting to study for. You can compare it a bit to the MCITP &amp;#8211; Business Intelligence exam. What makes it so interesting is that everything comes together in this exam. You need to know about SSIS, SSAS (multidimensional and tabular), SSRS (Report Designer, Report Builder, Power View, PowerPivot and PerformancePoint) and SharePoint integration in order to succeed. Everything just comes together.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To prepare myself I went over &lt;a href=&quot;http://www.microsoft.com/learning/en/us/course.aspx?id=20467a#fbid=HsP2QW2phvi&quot;&gt;course 20467A: Designing Business Intelligence Solutions with Microsoft SQL Server 2012&lt;/a&gt;, which is a fascinating read. I revisited some chapters about administration for SSRS and SSAS and I dug a bit deeper into SharePoint integration (but let&amp;#8217;s face it, I&amp;#8217;ll never get that Kerberos authentication thingy).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The exam itself wasn&amp;#8217;t that easy, but I managed to get through, so now I&amp;#8217;m the proud holder of the MCSE &amp;#8211; Business Intelligence certification!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This was my entire preparation. I&amp;#8217;m done now with exams for a while J&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;If you have interesting reading materials or videos that can help other preparing themselves for their exams, please share them in the comments!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/how-i-prepared-mcse&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Last week I took the final exam to acquire the <a href="http://www.microsoft.com/learning/en/us/mcse-sql-business-intelligence.aspx#fbid=EmSJ9xHTLm0">MCSE &#8211; Business Intelligence</a> certification. This blog post describes my preparation for all of the exams. It is not a strict guideline of course, it&#8217;s just what suited best for me.</p>
<p style="text-align: justify;">The MCSE certification exists of 5 separate exams, of which the first 3 grant you the <a href="http://www.microsoft.com/learning/en/us/mcsa-sql-certification.aspx#fbid=EmSJ9xHTLm0">MCSA SQL Server</a> certification. These are the following:</p>
<ul style="text-align: justify;">
<li>70-461: Querying Microsoft SQL Server 2012</li>
<li>70-462: Administering Microsoft SQL Server 2012 Databases</li>
<li>70-463: Implementing a Data Warehouse with Microsoft SQL Server 2012</li>
<li>70-466: Implementing Data Models and Reports with Microsoft SQL Server 2012</li>
<li>70-467: Designing Business Intelligence Solutions with Microsoft SQL Server 2012</li>
</ul>
<p><a style="text-align: justify;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/MCSEPrep/MCSE.jpg?mtime=1365060226"><img style="float: left; margin-left: 10px; margin-right: 10px;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/MCSEPrep/MCSE.jpg?mtime=1365060226" alt="" width="300" height="171" /></a></p>
<div class="image_block" style="text-align: justify;">The MCSA exams are the same for everyone; it doesn&#8217;t matter if you are going for the MCSE &#8211; Business Intelligence or for MCSE &#8211; Data Platform. Personally I like this decision, as everyone with the MCSA has the same common ground in the SQL Server platform. There&#8217;s always some overlap between the tasks a specific role is supposed to do. For example, DBA&#8217;s need SSIS from time to time to move data around and BI developers might need to set-up replication to feed a reporting database. Forcing everyone to do the same exams ensures certification holders have a certain skill set in the most important aspects of SQL Server.</div>
<p><span style="text-align: justify;">Before I started my certification spree on SQL Server 2012, I already had the three MCTS certifications for SQL Server 2008 (BI, DBA en database developer) and the MCITP: Business Intelligence Developer 2008. So I only had to refresh the older material - especially the DBA stuff &#8211; and learn all the new features. Why didn&#8217;t I took the upgrade exams? Because I like to challenge myself and I wanted to make sure I learned as much as possible in the progress.</span></p>
<p style="text-align: justify;"><strong>70-463</strong></p>
<p style="text-align: justify;">This is the first exam that I took. It deals mostly with SSIS, but has also some sections about DQS, MDS and dimensional modeling. I took this exam a year ago in beta, so there were no preparation materials available. Luckily I consider myself quite proficient in SSIS, so I didn&#8217;t need much preparation. After all, if you are going for one of the MCSE certifications, you should have at least one specialization in the SQL Server stack.</p>
<p style="text-align: justify;">I learned about the new SSIS features (which was Denali CTP1 at the time) by giving a session on the Belgian SQL Server Days in 2011:</p>
<p style="text-align: justify;"><a href="http://technet.microsoft.com/en-us/video/working-with-the-new-project-deployment-model-in-ssis-for-dummies-smarties.aspx"><em>Working with the New Project Deployment Model in SSIS for Dummies/Smarties</em></a><em> </em></p>
<p style="text-align: justify;">You learn a lot about something by trying to teach others about it. Of course I also read a lot of blog posts about the subject, of which most of them are mentioned in the video. I gave the same presentation again for the SQLLunchUK user group, but this time through a LiveMeeting.</p>
<p style="text-align: justify;">A few years back I read <a href="http://www.amazon.com/The-Data-Warehouse-Toolkit-Dimensional/dp/0471200247/ref=sr_1_1?ie=UTF8&amp;qid=1364556640&amp;sr=8-1&amp;keywords=data+warehouse+toolkit">The Data Warehouse Toolkit</a> by Ralph Kimball. Every serious BI professional should read this book, even if you are an adept Inmon follower. This book gives you all the details you need about dimensional modeling: star schemas, slowly changing dimensions, table grains et cetera. Microsoft relies heavily on the Kimball approach, in the data warehouse design but also in Analysis Services Multidimensional.</p>
<p style="text-align: justify;">Regarding Data Quality Services (DQS), I also mastered the basics by giving a session. This time a webinar for the Belgian 12 Hours of SQL:</p>
<p style="text-align: justify;"><a href="http://technet.microsoft.com/en-us/video/an-introduction-to-data-quality-services-dqs.aspx"><em>An introduction to Data Quality Services (DQS)</em></a></p>
<p style="text-align: justify;">Most information about DQS I got from MSDN articles, such as these <a href="http://technet.microsoft.com/en-us/sqlserver/jj737674">How-To videos</a>, and from TechEd videos, like this excellent one from Elad Ziklik: <a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2011/DBI207">Using Knowledge to Cleanse Data with Data Quality Services</a>.</p>
<p style="text-align: justify;">The last item on the list for this exam is Master Data Services (MDS). Since it only takes a small percentage of the questions and I&#8217;m not really convinced by the product &#8211; to be honest &#8211; I didn&#8217;t put much investigation to it. I read the free e-book Introducing <a href="http://www.amazon.com/Introducing-Microsoft-SQL-Server-2012/dp/073566515X/ref=sr_1_1?ie=UTF8">Microsoft SQL Server 2012</a> to get me up to speed with all the changes of MDS since the previous version. I also did a tutorial from the <a href="http://www.microsoft.com/en-us/download/details.aspx?id=27721">SQL Server 2012 training kit</a>, so I at least knew how to handle the product.</p>
<p style="text-align: justify;">The exam itself went pretty well, although I struggled a bit with the <a href="http://mediadl.microsoft.com/mediadl/www/l/learning/video/certification/exam/repeated_answer_series.wmv">Repeated Answer Choices</a> questions, since it was the first time I ever saw those type of questions and took a few seconds before I realized what was going on J</p>
<p style="text-align: justify;"><strong>70-461</strong></p>
<p style="text-align: justify;">Every person working closely with SQL Server, be it a DBA, a database developer or a BI developer, should know at least the basics of T-SQL. So this exam shouldn&#8217;t be too hard for most people. To prepare myself, I read the book <a href="http://www.amazon.com/Microsoft-Server-High-Performance-Window-Functions/dp/0735658366/ref=sr_1_3?ie=UTF8">SQL Server 2012 High-Performance T-SQL Using Window Functions</a> by Itzik Ben-Gan to learn more about the windowing functions introduced in SQL Server 2012. I can absolutely recommend this book to everyone to get up to speed with Windowing Functions in SQL Server. Itzik really does a great job by explaining all the concepts very clearly and uses a lot of practical examples. A must-read.</p>
<p style="text-align: justify;">Next I read blog posts and MSDN articles about the new T-SQL functionality, such as TRY_PARSE, THROW and LAG/LEAD. <a href="http://msdn.microsoft.com/en-us/library/09f0096e-ab95-4be0-8c01-f98753255747">This MSDN page</a> gives a nice overview. Since the exam might contain questions that require you to write code, I refreshed my knowledge on the syntax of the several TSQL statements. Finally I re-read the chapters about T-SQL of the <a href="http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-433/dp/0735626391/ref=sr_1_1?ie=UTF8">training kit for the 70-433 exam</a>, especially the one about XML. Because you know, I use this everyday so I&#8217;m an expert at it (uh-hum. Irony).</p>
<p style="text-align: justify;">I passed the exam on the first try, but I have to admit that the code writing questions are harder than it seems when you have no MSDN pages available to check your syntax.</p>
<p style="text-align: justify;"><strong>70-462</strong></p>
<p style="text-align: justify;">This was the exam I feared the most. I&#8217;m certainly no DBA and although I already had the MCTS for administrating SQL Server 2008, I had to relearn almost everything again as I didn&#8217;t have much real-time practice regarding administration. So I took my time preparing myself for the exam, going over the <a href="http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-433/dp/0735626391/ref=sr_1_1?ie=UTF8">training kit</a> a few times and watching some TechEd videos on Channel9.</p>
<p style="text-align: justify;">I did all the exercises of the training kit by setting up a virtual environment with a few servers using HyperV and doing all the DBA stuff such as mirroring, replication database, taking back-ups et cetera. The training kit briefly describes how to set this environment up, but it really doesn&#8217;t go in too much detail, so you&#8217;re pretty much on your own. If you have never heard of differencing disks for virtual machines before &#8211; like I did &#8211; prepare yourself to do some research. There was especially no information on how to set-up the networking, which appears to be crucial when you went to set-up clustering, as you need to have multiple networks. I briefly go over my set-up in this <a href="http://www.sqlservercentral.com/Forums/Topic1377933-10-1.aspx#bm1421996">forum thread</a>. The training kit and the matching practice tests also have some errors, so make sure to check out the <a href="http://oreilly.com/catalog/errataunconfirmed.csp?isbn=0790145345134">Errata</a> page of the book.</p>
<p style="text-align: justify;">The <a href="http://www.microsoft.com/learning/en/us/certification-exams.aspx#fbid=HsP2QW2phvi">new types of exam questions</a> (check the section <em>Exam formats and question types</em>) also include drag-and-drop questions, so I focused on learning the correct sequence to do something. For example, how to set up mirroring, replication or Availability Groups, how to do a partial restore, how to upgrade a cluster et cetera.</p>
<p style="text-align: justify;">All in all the training kit did a good job preparing me for the exam, as I passed it on the first try, but my score really wasn&#8217;t that impressive. But hey, what do you expect from a BI guy J Finishing this exam gave me the MCSA certification.</p>
<p style="text-align: justify;"><strong>70-466</strong></p>
<p style="text-align: justify;">After a few months of well deserved &#8220;non-studying for exams&#8221; I decided to pick up the pace again and to start preparing for the 70-466 exam. I was in between projects at the time, so it was excellent timing to get some studying done.</p>
<p style="text-align: justify;">I started by reading the excellent book <a href="http://www.amazon.com/Microsoft-Server-2012-Analysis-Services/dp/0735658188/ref=sr_1_1?ie=UTF8">Microsoft SQL Server 2012 Analysis Services: The BISM Tabular Model</a> by SSAS Maestros Chris Webb, Alberto Ferrari and Marco Russo, which comes at a whopping 656 pages. It&#8217;s a great book and it will teach you everything you need to know about tabular models and DAX, but actually it&#8217;s much too detailed for just exam preparation. But hey, a little too much knowledge doesn&#8217;t hurt anyone, right? So if you just want to get up to speed with SSAS tabular you can skip a few chapters, such as DAX Advanced for example.</p>
<p style="text-align: justify;">For SSAS multidimensional and Reporting Services, I just re-read the relevant chapters of <a href="http://www.amazon.com/MCTS-Self-Paced-Training-Exam-70-448/dp/0735626367/ref=sr_1_1?ie=UTF8">the 70-448 training kit</a>, giving more attention to features I don&#8217;t use a lot, like pro-active caching, MDX (I know, sorry Chris Webb) and administrating SSAS and SSRS servers. I skipped the data mining chapter, as it apparently didn&#8217;t make the exam <em>Skills Measured</em> section. I digged deeper into SSAS and SSRS administration by reading relevant blogs and MSDN articles, such as <a href="http://msdn.microsoft.com/en-us/library/ms157403.aspx">Reporting Services Execution and Trace Logging</a>.</p>
<p style="text-align: justify;">The exam went pretty well on the first try and thus I had only one exam left for the MCSE certification!</p>
<p style="text-align: justify;"><strong>70-467</strong></p>
<p style="text-align: justify;">The exam was really interesting to study for. You can compare it a bit to the MCITP &#8211; Business Intelligence exam. What makes it so interesting is that everything comes together in this exam. You need to know about SSIS, SSAS (multidimensional and tabular), SSRS (Report Designer, Report Builder, Power View, PowerPivot and PerformancePoint) and SharePoint integration in order to succeed. Everything just comes together.</p>
<p style="text-align: justify;">To prepare myself I went over <a href="http://www.microsoft.com/learning/en/us/course.aspx?id=20467a#fbid=HsP2QW2phvi">course 20467A: Designing Business Intelligence Solutions with Microsoft SQL Server 2012</a>, which is a fascinating read. I revisited some chapters about administration for SSRS and SSAS and I dug a bit deeper into SharePoint integration (but let&#8217;s face it, I&#8217;ll never get that Kerberos authentication thingy).</p>
<p style="text-align: justify;">The exam itself wasn&#8217;t that easy, but I managed to get through, so now I&#8217;m the proud holder of the MCSE &#8211; Business Intelligence certification!</p>
<p style="text-align: justify;"><strong>Conclusion</strong></p>
<p style="text-align: justify;">This was my entire preparation. I&#8217;m done now with exams for a while J</p>
<p style="text-align: justify;">If you have interesting reading materials or videos that can help other preparing themselves for their exams, please share them in the comments!</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/how-i-prepared-mcse">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/how-i-prepared-mcse#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2170</wfw:commentRss>
		</item>
				<item>
			<title>How I used Data Explorer to create a demo</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/how-i-used-data-explorer</link>
			<pubDate>Wed, 20 Mar 2013 10:22:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Excel Reporting</category>
<category domain="main">Business Intelligence</category>			<guid isPermaLink="false">2153@http://blogs.lessthandot.com/</guid>
						<description>&lt;p&gt;Some time ago &lt;a href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=36803&quot;&gt;Data Explorer&lt;/a&gt;, an add-in for Excel 2010 or 2013, was released in Public Preview. In short, it is a self-service ETL tool which is in my opinion a great tool for quickly searching data sets.&lt;/p&gt;
&lt;p&gt;Recently, I had to create a demo for showcasing PowerPivot and Power View in Office 2013. As with all demo&amp;#8217;s, the hardest part is to figure out which compelling story you will tell. I had downloaded a publicly available Excel file with Olympic data from 1900 until 2008.&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/DataExplorerDemo/OlympicsData.png?mtime=1363781218&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/OlympicsData.png?mtime=1363781218&quot; alt=&quot;&quot; width=&quot;668&quot; height=&quot;234&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;This is very useful for a demo, but I wanted to create some maps in Power View, so I also needed a list of countries and their location. And this is where Data Explorer came into the picture. One of the niftiest features of the product is to search online for datasets. In reality a lot of results come from Wikipedia, but we&amp;#8217;re not picky.&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DataExplorerDemo/onlinesearch.png?mtime=1363781225&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/onlinesearch.png?mtime=1363781225&quot; alt=&quot;&quot; width=&quot;598&quot; height=&quot;194&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;As you can see in the first screenshot, countries are identified by their NOC code (National Olympic Committee) so the first thing we need to do is find a list of countries and the corresponding NOC codes. To make future matching a bit easier, I also include ISO codes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/DataExplorerDemo/searchresult.png?mtime=1363781237&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/searchresult.png?mtime=1363781237&quot; alt=&quot;&quot; width=&quot;895&quot; height=&quot;213&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;With one click on the USE button, the entire dataset is imported into a new Excel sheet:&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DataExplorerDemo/importquery.png?mtime=1363781211&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/importquery.png?mtime=1363781211&quot; alt=&quot;&quot; width=&quot;604&quot; height=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Next I import similar data sets containing list of countries with their location and also some lists with unemployment rates, population and gross national income. All I need to do some serious analyses on what are the key contributing factors in winning a gold medal at the Olympics.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;After I imported everything into PowerPivot, I did some rudimentary data cleansing. The hardest part was to match countries from different lists. For example, is it North Korea or Democratic People&#039;s Republic of Korea? Finally I have the following model:&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/DataExplorerDemo/diagram.png?mtime=1363781203&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/diagram.png?mtime=1363781203&quot; alt=&quot;&quot; width=&quot;722&quot; height=&quot;380&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Now I can build some nice Power View reports directly in Excel 2013 and my demo is ready:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/DataExplorerDemo/powerview.png?mtime=1363781231&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DataExplorerDemo/powerview.png?mtime=1363781231&quot; alt=&quot;&quot; width=&quot;732&quot; height=&quot;394&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;The point of this blog post is that it&amp;#8217;s fairly easy to create a demo data set using Data Explorer; it took me a bit more than one hour to create this model. However, Data Explorer is more than just an online search tool for data sets, so if you want to learn more about this tool check out the following resources:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://sqlblog.com/blogs/jamie_thomson/archive/2013/02/27/data-explorer-hits-full-preview.aspx&quot;&gt;Data Explorer hits full preview&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.mattmasson.com/2013/02/exploring-data-explorer/&quot;&gt;Exploring Data Explorer&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.mattmasson.com/2013/03/access-the-windows-azure-marketplace-from-data-explorer/&quot;&gt;Access the Windows Azure Marketplace from Data Explorer&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://denglishbi.wordpress.com/2013/03/04/installing-data-explorer-preview-demo-with-imdb-data/&quot;&gt;Installing Data Explorer Preview &amp;amp; Demo with IMDB Data&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://cwebbbi.wordpress.com/2013/03/04/calling-a-web-service-from-data-explorer-part-1/&quot;&gt;Calling A Web Service From Data Explorer, Part 1&lt;br /&gt;&lt;/a&gt;&lt;a href=&quot;http://cwebbbi.wordpress.com/2013/03/15/finding-shakespeares-favourite-words-with-data-explorer/&quot;&gt;Finding Shakespeare&amp;#8217;s Favourite Words With Data Explorer&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/how-i-used-data-explorer&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Some time ago <a href="http://www.microsoft.com/en-us/download/details.aspx?id=36803">Data Explorer</a>, an add-in for Excel 2010 or 2013, was released in Public Preview. In short, it is a self-service ETL tool which is in my opinion a great tool for quickly searching data sets.</p>
<p>Recently, I had to create a demo for showcasing PowerPivot and Power View in Office 2013. As with all demo&#8217;s, the hardest part is to figure out which compelling story you will tell. I had downloaded a publicly available Excel file with Olympic data from 1900 until 2008.</p>
<p><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/OlympicsData.png?mtime=1363781218"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/OlympicsData.png?mtime=1363781218" alt="" width="668" height="234" /></a></p>
<p><span style="text-align: justify;">This is very useful for a demo, but I wanted to create some maps in Power View, so I also needed a list of countries and their location. And this is where Data Explorer came into the picture. One of the niftiest features of the product is to search online for datasets. In reality a lot of results come from Wikipedia, but we&#8217;re not picky.</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/onlinesearch.png?mtime=1363781225"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/onlinesearch.png?mtime=1363781225" alt="" width="598" height="194" /></a></div>
<p><span style="text-align: justify;">As you can see in the first screenshot, countries are identified by their NOC code (National Olympic Committee) so the first thing we need to do is find a list of countries and the corresponding NOC codes. To make future matching a bit easier, I also include ISO codes.</span></p>
<p><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/searchresult.png?mtime=1363781237"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/searchresult.png?mtime=1363781237" alt="" width="895" height="213" /></a></p>
<p><span style="text-align: justify;">With one click on the USE button, the entire dataset is imported into a new Excel sheet:</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/importquery.png?mtime=1363781211"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/importquery.png?mtime=1363781211" alt="" width="604" height="200" /></a></div>
<p><span style="text-align: justify;">Next I import similar data sets containing list of countries with their location and also some lists with unemployment rates, population and gross national income. All I need to do some serious analyses on what are the key contributing factors in winning a gold medal at the Olympics.</span></p>
<p>After I imported everything into PowerPivot, I did some rudimentary data cleansing. The hardest part was to match countries from different lists. For example, is it North Korea or Democratic People's Republic of Korea? Finally I have the following model:</p>
<p><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/diagram.png?mtime=1363781203"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/diagram.png?mtime=1363781203" alt="" width="722" height="380" /></a></p>
<p><span style="text-align: justify;">Now I can build some nice Power View reports directly in Excel 2013 and my demo is ready:</span></p>
<p><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/powerview.png?mtime=1363781231"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DataExplorerDemo/powerview.png?mtime=1363781231" alt="" width="732" height="394" /></a></p>
<p><span style="text-align: justify;">The point of this blog post is that it&#8217;s fairly easy to create a demo data set using Data Explorer; it took me a bit more than one hour to create this model. However, Data Explorer is more than just an online search tool for data sets, so if you want to learn more about this tool check out the following resources:</span></p>
<p style="text-align: left;"><a href="http://sqlblog.com/blogs/jamie_thomson/archive/2013/02/27/data-explorer-hits-full-preview.aspx">Data Explorer hits full preview<br /></a><a href="http://www.mattmasson.com/2013/02/exploring-data-explorer/">Exploring Data Explorer<br /></a><a href="http://www.mattmasson.com/2013/03/access-the-windows-azure-marketplace-from-data-explorer/">Access the Windows Azure Marketplace from Data Explorer<br /></a><a href="http://denglishbi.wordpress.com/2013/03/04/installing-data-explorer-preview-demo-with-imdb-data/">Installing Data Explorer Preview &amp; Demo with IMDB Data<br /></a><a href="http://cwebbbi.wordpress.com/2013/03/04/calling-a-web-service-from-data-explorer-part-1/">Calling A Web Service From Data Explorer, Part 1<br /></a><a href="http://cwebbbi.wordpress.com/2013/03/15/finding-shakespeares-favourite-words-with-data-explorer/">Finding Shakespeare&#8217;s Favourite Words With Data Explorer</a></p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/how-i-used-data-explorer">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/business-intelligence-1/how-i-used-data-explorer#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2153</wfw:commentRss>
		</item>
				<item>
			<title>Stupid me #2 - Where is my SSIS package executed?</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/ssis/stupid-me-2</link>
			<pubDate>Thu, 28 Feb 2013 07:57:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Microsoft SQL Server</category>
<category domain="main">SSIS</category>
<category domain="alt">Business Intelligence</category>			<guid isPermaLink="false">2127@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;And it is time again for another &amp;#8220;stupid me&amp;#8221;! For those unfamiliar with the concept:&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;em&gt;Every time I do something &amp;#8220;stupid&amp;#8221;, which happens from time to time, I&amp;#8217;ll do a little blog post on what happened and how I solved it. The reason for this is twofold: I&amp;#8217;ll have a solution online I can consult if it happens again and other people can benefit from my mistakes as well. Because remember the ancient Chinese proverb&lt;/em&gt;:&amp;#160;&lt;em&gt;&amp;#8220;It&amp;#8217;s only stupid if you don&amp;#8217;t turn it into a learning experience&amp;#8221;&lt;/em&gt;&lt;em&gt;. Okay, I might have made that last one up&amp;#8230;&lt;/em&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;The problem&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/StupidMe2/SSISservice.PNG?mtime=1362038450&quot;&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/media/users/koenverbeeck/StupidMe2/SSISservice.PNG?mtime=1362038450&quot; alt=&quot;&quot; width=&quot;247&quot; height=&quot;281&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Some time ago, I had developed an SSIS package which made a part of a much larger project. The package loaded some reference data needed in the data warehouse to a table. Nothing fancy, just a straight load. I had deployed the package to the development server, tested it there and after everything seemed OK, I deployed the package to the user acceptance environment (UAT).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;I needed to run this package so an initial load of the table could be done. I didn&amp;#8217;t need to run the entire ETL, just the package, so I logged into the SSIS service and I execute the package. I checked the table and &amp;#8230; it was empty. Strange. I checked the log files and I saw the package indeed transferred the correct number of rows. Double strange. As I implement best practices in my SSIS packages, I have indirect package configuration set up. Basically this means I have an environment variable on each machine telling my SSIS packages where the package can find the server and database with the configuration tables. The package uses these configuration tables to configure variables, connection strings et cetera inside the package. So I checked the environment variable and the configurations on the UAT server. Everything was fine. Triple strange. Then I checked the table on the development server. Suddenly, the number of rows had doubled! This means I was updating the development server instead of the UAT server. (Quadruple strange?) So what happened?&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;The solution&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The answer was right under my nose: I had log into the SSIS server of the UAT environment and I executed the package manually by right clicking it and selecting &lt;em&gt;&amp;#8220;Run Package&amp;#8221;&lt;/em&gt;. What I forgot however is that this doesn&amp;#8217;t mean the package is executed on the UAT server, but it is indeed executed on my local machine! &lt;strong&gt;Indeed, an SSIS package is not executed where it is saved,&lt;/strong&gt; &lt;strong&gt;but on the machine that calls DTEXEC&lt;/strong&gt;. In other words, if I have server A storing SSIS packages, but I have a SQL Server Agent job executing them on Server B, the SSIS packages are executed on Server B, not Server A. Take this into account when you want a dedicated SSIS server: you&amp;#8217;ll need to install the SQL Server engine as well just to have SQL Server Agent.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The embarrassing part is I tell people about this a lot in the forums, but when it happened to me I completely forgot about it. I blame this on the lack of caffeine and sleep &lt;img src=&quot;http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif&quot; title=&quot;:)&quot; alt=&quot;:)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Related articles:&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/index.php/DataMgmt/DBProgramming/MSSQLServer/stupid-me-1-locking-myself&quot;&gt;Stupid me #1 &amp;#8211; Locking myself out of SQL Server&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;edit: I forgot to mention it in the article, but it was my colleague &lt;a href=&quot;http://blog.hoegaerden.be/&quot;&gt;Valentino&lt;/a&gt; who had a moment of clarity and pointed out my foolishness &lt;img src=&quot;http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif&quot; title=&quot;:)&quot; alt=&quot;:)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/ssis/stupid-me-2&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">And it is time again for another &#8220;stupid me&#8221;! For those unfamiliar with the concept:</p>
<p style="text-align: justify;"><em>Every time I do something &#8220;stupid&#8221;, which happens from time to time, I&#8217;ll do a little blog post on what happened and how I solved it. The reason for this is twofold: I&#8217;ll have a solution online I can consult if it happens again and other people can benefit from my mistakes as well. Because remember the ancient Chinese proverb</em>:&#160;<em>&#8220;It&#8217;s only stupid if you don&#8217;t turn it into a learning experience&#8221;</em><em>. Okay, I might have made that last one up&#8230;</em></p>
<p style="text-align: justify;"><strong>The problem</strong></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/StupidMe2/SSISservice.PNG?mtime=1362038450"><img style="float: left;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/StupidMe2/SSISservice.PNG?mtime=1362038450" alt="" width="247" height="281" /></a></p>
<p style="text-align: justify;">Some time ago, I had developed an SSIS package which made a part of a much larger project. The package loaded some reference data needed in the data warehouse to a table. Nothing fancy, just a straight load. I had deployed the package to the development server, tested it there and after everything seemed OK, I deployed the package to the user acceptance environment (UAT).</p>
<p style="text-align: justify;"><span style="text-align: justify;">I needed to run this package so an initial load of the table could be done. I didn&#8217;t need to run the entire ETL, just the package, so I logged into the SSIS service and I execute the package. I checked the table and &#8230; it was empty. Strange. I checked the log files and I saw the package indeed transferred the correct number of rows. Double strange. As I implement best practices in my SSIS packages, I have indirect package configuration set up. Basically this means I have an environment variable on each machine telling my SSIS packages where the package can find the server and database with the configuration tables. The package uses these configuration tables to configure variables, connection strings et cetera inside the package. So I checked the environment variable and the configurations on the UAT server. Everything was fine. Triple strange. Then I checked the table on the development server. Suddenly, the number of rows had doubled! This means I was updating the development server instead of the UAT server. (Quadruple strange?) So what happened?</span></p>
<p style="text-align: justify;"><strong>The solution</strong></p>
<p style="text-align: justify;">The answer was right under my nose: I had log into the SSIS server of the UAT environment and I executed the package manually by right clicking it and selecting <em>&#8220;Run Package&#8221;</em>. What I forgot however is that this doesn&#8217;t mean the package is executed on the UAT server, but it is indeed executed on my local machine! <strong>Indeed, an SSIS package is not executed where it is saved,</strong> <strong>but on the machine that calls DTEXEC</strong>. In other words, if I have server A storing SSIS packages, but I have a SQL Server Agent job executing them on Server B, the SSIS packages are executed on Server B, not Server A. Take this into account when you want a dedicated SSIS server: you&#8217;ll need to install the SQL Server engine as well just to have SQL Server Agent.</p>
<p style="text-align: justify;">The embarrassing part is I tell people about this a lot in the forums, but when it happened to me I completely forgot about it. I blame this on the lack of caffeine and sleep <img src="http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif" title=":)" alt=":)" class="middle" width="15" height="15" /></p>
<p style="text-align: justify;"><strong>Related articles:</strong></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/index.php/DataMgmt/DBProgramming/MSSQLServer/stupid-me-1-locking-myself">Stupid me #1 &#8211; Locking myself out of SQL Server</a></p>
<p style="text-align: justify;">edit: I forgot to mention it in the article, but it was my colleague <a href="http://blog.hoegaerden.be/">Valentino</a> who had a moment of clarity and pointed out my foolishness <img src="http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif" title=":)" alt=":)" class="middle" width="15" height="15" /></p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/ssis/stupid-me-2">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/ssis/stupid-me-2#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2127</wfw:commentRss>
		</item>
				<item>
			<title>When is DTEXEC installed?</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/when-is-dtexec-installed</link>
			<pubDate>Tue, 12 Feb 2013 11:12:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Microsoft SQL Server</category>
<category domain="main">SSIS</category>
<category domain="alt">Business Intelligence</category>			<guid isPermaLink="false">2098@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Or in other words, what do I need to install during SQL Server setup in order to end up with a fully operational SSIS server with a minimal surface area configuration? I came up with this blog post after I participated in the following thread at the MSDN forum: &lt;a href=&quot;http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/4f29e3a3-fc8a-465c-8acc-12ecedfcb24c&quot;&gt;&amp;#8220;What&#039;s the minimum configuration to run dtexec on windows 2003 server?&amp;#8221;&lt;/a&gt; &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/ms162810(v=SQL.105).aspx&quot;&gt;DTEXEC&lt;/a&gt; is the command line utility used behind the scenes to run SSIS packages. The question asker thought only the client tools needed to be installed, but I was not sure of this. Time to investigate!&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Methodology&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I created two easy packages, called SimpleTest and AdvancedTest. SimpleTest reads a flat file, adds a timestamp and writes the results to another flat file.&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/simplepackage.PNG?mtime=1360669546&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/simplepackage.PNG?mtime=1360669546&quot; alt=&quot;&quot; width=&quot;152&quot; height=&quot;206&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;The AdvancedTest package reads the same flat file, but uses a term extraction component to do a term based analysis and it writes the results to a flat file. This package is used to see if there&amp;#8217;s any difference when an Enterprise-only&amp;#160; component is used (see &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx&quot;&gt;Features Supported by the Editions of SQL Server 2008 R2&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/advancedpackage.PNG?mtime=1360669554&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/advancedpackage.PNG?mtime=1360669554&quot; alt=&quot;&quot; width=&quot;288&quot; height=&quot;299&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;The server is a Windows 2008R2 64-bit server. The edition of SQL Server being installed is SQL Server 2008R2 Developer edition.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;To test if DTEXEC is installed and if it works correctly, the following commands are used in a command window:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-size: small;&quot;&gt;dtexec /F &amp;#8220;c:\SimpleTest.dtsx&amp;#8221; &amp;gt; SimpleLog.txt&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;and&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-size: small;&quot;&gt;dtexec /F &amp;#8220;c:\AdvancedTest.dtsx&amp;#8221; &amp;gt; AdvancedLog.txt&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;These commands execute a package located on the file system and output the results to a text file.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Client Tools only&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The first install is the client tools, with which I mean BIDS (Business Intelligence Development Studio) and SSMS (SQL Server Management Studio). Later on I learned the question asker meant everything listed under &lt;em&gt;Shared Features&lt;/em&gt;, which is a whole lot more than just the client tools. First I installed the Management Tools only.&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Install.png?mtime=1360669453&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Install.png?mtime=1360669453&quot; alt=&quot;&quot; width=&quot;490&quot; height=&quot;369&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I took a look in the Program Folders, but I only found a 32-bit DTEXEC. Is this enough to run a package?&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Result.png?mtime=1360669459&quot; alt=&quot;&quot; width=&quot;435&quot; height=&quot;189&quot; /&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;When the DTEXEC statements are executed in a command window, we are greeted with the following error message:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;Description: To run a SSIS package outside of Business Intelligence Development Studio you must install Standard Edition of Integration Services or higher.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So no luck with this method. When DTEXECUI is launched, everything is grayed out and another straightforward error message tells us we really do have to install Integration Services.&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_DTEXECUI.png?mtime=1360669438&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_DTEXECUI.png?mtime=1360669438&quot; alt=&quot;&quot; width=&quot;411&quot; height=&quot;348&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;However, the Import/Export wizard is also installed. When I import a flat file to another flat file &amp;#8211; the workflow used by the SimpleTest package &amp;#8211; the wizard executes successfully:&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_importwizard.png?mtime=1360669446&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/ManagementTools_importwizard.png?mtime=1360669446&quot; alt=&quot;&quot; width=&quot;389&quot; height=&quot;393&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;The only reason DTEXEC was installed is to run the Import/Export wizard. Installing BIDS as well doesn&amp;#8217;t solve the issue, as expected. You can run packages within BIDS, but I guess nobody is excited about staying up all night in order to manually kick off SSIS packages. So basically we have installed a lightweight development environment, but not a server.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;SQL Server only&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Stubborn as I am, I ignore the logical error messages I got earlier and I install the SQL Server database engine, without any shared feature whatsoever. This time the 64-bit DTEXEC is installed. We&amp;#8217;re making progress. When I start the SimpleTest package, the log shows the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;em&gt;The component &quot;(DER) Add timestamp&quot; (38) cannot run on installed (64-bit) of Integration Services. It requires Standard Edition (64-bit) or higher.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The error doesn&amp;#8217;t make much sense, since I haven&amp;#8217;t installed Integration Services at all and Developer Edition is a higher edition than Standard (in functionality, not in price). Running the AdvancedTest package results in the following:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-size: 9pt;&quot;&gt;&lt;em&gt;Warning: 2013-01-16 14:49:02.56&amp;#160; Code: 0xC0048000&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: The registry key &quot;SOFTWARE\Classes\CLSID\{119D450D-E2A3-4DB0-A7BC-ACDE2536673E}\DTSInfo&quot; cannot be opened.&lt;br /&gt;
End Warning&lt;br /&gt;
Warning: 2013-01-16 14:49:02.56&amp;#160;&amp;#160; Code: 0x8004801E&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: Cannot find the &quot;CurrentVersion&quot; value for component {119D450D-E2A3-4DB0-A7BC-ACDE2536673E}. The CurrentVersion value for the component cannot be located. This error occurs if the component has not set its registry information to contain a CurrentVersion value in the DTSInfo section. This message occurs during component development, or when the component is used in a package, if the component is not registered properly.&lt;br /&gt;
End Warning&lt;br /&gt;
Error: 2013-01-16 14:49:02.56&amp;#160;&amp;#160; Code: 0xC0048020&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: The version of component &quot;(TEX) Extraction FirstName&quot; (77) is not compatible with this version of the DataFlow.&lt;br /&gt;
End Error&lt;br /&gt;
Error: 2013-01-16 14:49:02.56&amp;#160;&amp;#160; Code: 0xC0048020&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around SSIS.Pipeline&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: The version of component &quot;(TEX) Extraction FirstName&quot; (77) is not compatible with this version of the DataFlow.&lt;br /&gt;
End Error&lt;br /&gt;
&amp;#8230;&lt;br /&gt;
Error: 2013-01-16 14:49:02.56&amp;#160; Code: 0xC0048021&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around (TEX) Extraction FirstName [77]&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is &quot;&quot;.&lt;br /&gt;
End Error&lt;br /&gt;
Error: 2013-01-16 14:49:02.56&amp;#160;&amp;#160; Code: 0xC0047017&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Source: (DFT) Throw data around SSIS.Pipeline&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Description: component &quot;(TEX) Extraction FirstName&quot; (77) failed validation and returned error code 0xC0048021.&lt;br /&gt;
End Error&lt;br /&gt;
&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;First we get a whole bunch of warning related to the registry, followed by errors related to the Term Extraction component, leading to a validation failure at the end. The Enterprise-only component leads to different errors, but the result is the same: we cannot run SSIS packages using DTEXEC.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;So why is DTEXEC installed? First of all, to run the 64-bit version of the Import/Export wizard, but also to support maintenance plans, who use SSIS behind the scenes. Since SQL Server 2005 sp2 or SQL Server 2008 CU1/sp1, it is not necessary to install SSIS to create maintenance plans. Read more about this in the blog post &lt;a href=&quot;http://sqlblog.com/blogs/tibor_karaszi/archive/2009/08/26/do-maintenance-plans-require-ssis.aspx&quot;&gt;Do maintenance plans require SSIS?&lt;/a&gt; by Tibor Karaszi (&lt;a href=&quot;http://sqlblog.com/blogs/tibor_karaszi/default.aspx&quot;&gt;blog&lt;/a&gt; | &lt;a href=&quot;https://twitter.com/TiborKaraszi&quot;&gt;twitter&lt;/a&gt;).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Integration Services only&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Now let&amp;#8217;s try to do the sane thing here and install SSIS, without any other option specified.&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/ssis_only_install.png?mtime=1360669468&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/ssis_only_install.png?mtime=1360669468&quot; alt=&quot;&quot; width=&quot;439&quot; height=&quot;322&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;DTEXEC is installed, as expected of course, alongside the Integrations Services service. Running DTEXEC through the command line gives us the result we were hoping for:&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/SSISonly_serviceON_dtexec_success.png?mtime=1360669481&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/SSISonly_serviceON_dtexec_success.png?mtime=1360669481&quot; alt=&quot;&quot; width=&quot;518&quot; height=&quot;245&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Success at last! DTEXECUI isn&amp;#8217;t installed, indicating this is a client component only. This is OK, because you probably won&amp;#8217;t ever use it on a server.&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/DTEXEC_install/SSISonly_nodtexecui.png?mtime=1360669475&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/DTEXEC_install/SSISonly_nodtexecui.png?mtime=1360669475&quot; alt=&quot;&quot; width=&quot;373&quot; height=&quot;211&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;One final question remains: do we need the SSIS service? The answer is short: no. According to &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://support.microsoft.com/kb/942176&quot;&gt;Microsoft&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;, the SSIS service only extends the functionality of SSMS, in the sense that it manages the storage of SSIS packages and that it monitors the running packages. So you can safely stop the service. However, you need to disable it as well; otherwise the service is started again once you run a package.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;You only need to install Integration Services when you want a dedicated SSIS server, but you&amp;#8217;ll need to store your packages on the file system. You can disable the Integration Services service; it is not needed to execute a package. You also might want to install the client connectivity tools as well and any other component you might need to connect to your sources.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/when-is-dtexec-installed&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Or in other words, what do I need to install during SQL Server setup in order to end up with a fully operational SSIS server with a minimal surface area configuration? I came up with this blog post after I participated in the following thread at the MSDN forum: <a href="http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/4f29e3a3-fc8a-465c-8acc-12ecedfcb24c">&#8220;What's the minimum configuration to run dtexec on windows 2003 server?&#8221;</a> <a href="http://msdn.microsoft.com/en-us/library/ms162810(v=SQL.105).aspx">DTEXEC</a> is the command line utility used behind the scenes to run SSIS packages. The question asker thought only the client tools needed to be installed, but I was not sure of this. Time to investigate!</p>
<p style="text-align: justify;"><strong>Methodology</strong></p>
<p style="text-align: justify;">I created two easy packages, called SimpleTest and AdvancedTest. SimpleTest reads a flat file, adds a timestamp and writes the results to another flat file.</p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/simplepackage.PNG?mtime=1360669546"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/simplepackage.PNG?mtime=1360669546" alt="" width="152" height="206" /></a></div>
<p><span style="text-align: justify;">The AdvancedTest package reads the same flat file, but uses a term extraction component to do a term based analysis and it writes the results to a flat file. This package is used to see if there&#8217;s any difference when an Enterprise-only&#160; component is used (see </span><a style="text-align: justify;" href="http://msdn.microsoft.com/en-us/library/cc645993(v=sql.105).aspx">Features Supported by the Editions of SQL Server 2008 R2</a><span style="text-align: justify;">).</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/advancedpackage.PNG?mtime=1360669554"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/advancedpackage.PNG?mtime=1360669554" alt="" width="288" height="299" /></a></div>
<p><span style="text-align: justify;">The server is a Windows 2008R2 64-bit server. The edition of SQL Server being installed is SQL Server 2008R2 Developer edition.</span></p>
<p style="text-align: justify;">To test if DTEXEC is installed and if it works correctly, the following commands are used in a command window:</p>
<blockquote><p><em><span style="font-size: small;">dtexec /F &#8220;c:\SimpleTest.dtsx&#8221; &gt; SimpleLog.txt</span></em></p></blockquote>
<p style="text-align: justify;">and</p>
<blockquote><p><em><span style="font-size: small;">dtexec /F &#8220;c:\AdvancedTest.dtsx&#8221; &gt; AdvancedLog.txt</span></em></p></blockquote>
<p style="text-align: justify;">These commands execute a package located on the file system and output the results to a text file.</p>
<p style="text-align: justify;"><strong>Client Tools only</strong></p>
<p style="text-align: justify;">The first install is the client tools, with which I mean BIDS (Business Intelligence Development Studio) and SSMS (SQL Server Management Studio). Later on I learned the question asker meant everything listed under <em>Shared Features</em>, which is a whole lot more than just the client tools. First I installed the Management Tools only.</p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Install.png?mtime=1360669453"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Install.png?mtime=1360669453" alt="" width="490" height="369" /></a></div>
<p><span style="text-align: justify;"> </span></p>
<p style="text-align: justify;">I took a look in the Program Folders, but I only found a 32-bit DTEXEC. Is this enough to run a package?</p>
<p style="text-align: center;"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_Result.png?mtime=1360669459" alt="" width="435" height="189" /></p>
<p style="text-align: justify;">When the DTEXEC statements are executed in a command window, we are greeted with the following error message:</p>
<blockquote><p><em><span style="font-size: 9pt;">Description: To run a SSIS package outside of Business Intelligence Development Studio you must install Standard Edition of Integration Services or higher.</span></em></p></blockquote>
<p style="text-align: justify;">So no luck with this method. When DTEXECUI is launched, everything is grayed out and another straightforward error message tells us we really do have to install Integration Services.</p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_DTEXECUI.png?mtime=1360669438"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_DTEXECUI.png?mtime=1360669438" alt="" width="411" height="348" /></a></div>
<p><span style="text-align: justify;">However, the Import/Export wizard is also installed. When I import a flat file to another flat file &#8211; the workflow used by the SimpleTest package &#8211; the wizard executes successfully:</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_importwizard.png?mtime=1360669446"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ManagementTools_importwizard.png?mtime=1360669446" alt="" width="389" height="393" /></a></div>
<p><span style="text-align: justify;">The only reason DTEXEC was installed is to run the Import/Export wizard. Installing BIDS as well doesn&#8217;t solve the issue, as expected. You can run packages within BIDS, but I guess nobody is excited about staying up all night in order to manually kick off SSIS packages. So basically we have installed a lightweight development environment, but not a server.</span></p>
<p style="text-align: justify;"><strong>SQL Server only</strong></p>
<p style="text-align: justify;">Stubborn as I am, I ignore the logical error messages I got earlier and I install the SQL Server database engine, without any shared feature whatsoever. This time the 64-bit DTEXEC is installed. We&#8217;re making progress. When I start the SimpleTest package, the log shows the following:</p>
<blockquote>
<p style="text-align: justify;"><span style="font-size: 9pt;"><em>The component "(DER) Add timestamp" (38) cannot run on installed (64-bit) of Integration Services. It requires Standard Edition (64-bit) or higher.</em></span></p>
</blockquote>
<p style="text-align: justify;">The error doesn&#8217;t make much sense, since I haven&#8217;t installed Integration Services at all and Developer Edition is a higher edition than Standard (in functionality, not in price). Running the AdvancedTest package results in the following:</p>
<blockquote>
<p style="text-align: justify;">
<span style="font-size: 9pt;"><em>Warning: 2013-01-16 14:49:02.56&#160; Code: 0xC0048000<br />
&nbsp;&nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)<br />
&nbsp;&nbsp; Description: The registry key "SOFTWARE\Classes\CLSID\{119D450D-E2A3-4DB0-A7BC-ACDE2536673E}\DTSInfo" cannot be opened.<br />
End Warning<br />
Warning: 2013-01-16 14:49:02.56&#160;&#160; Code: 0x8004801E<br />
&nbsp;&nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)<br />
&nbsp;&nbsp; Description: Cannot find the "CurrentVersion" value for component {119D450D-E2A3-4DB0-A7BC-ACDE2536673E}. The CurrentVersion value for the component cannot be located. This error occurs if the component has not set its registry information to contain a CurrentVersion value in the DTSInfo section. This message occurs during component development, or when the component is used in a package, if the component is not registered properly.<br />
End Warning<br />
Error: 2013-01-16 14:49:02.56&#160;&#160; Code: 0xC0048020<br />
&nbsp;&nbsp; Source: (DFT) Throw data around (DFT) Throw data around (SSIS.Pipeline)<br />
&nbsp;&nbsp; Description: The version of component "(TEX) Extraction FirstName" (77) is not compatible with this version of the DataFlow.<br />
End Error<br />
Error: 2013-01-16 14:49:02.56&#160;&#160; Code: 0xC0048020<br />
&nbsp;&nbsp; Source: (DFT) Throw data around SSIS.Pipeline<br />
&nbsp;&nbsp; Description: The version of component "(TEX) Extraction FirstName" (77) is not compatible with this version of the DataFlow.<br />
End Error<br />
&#8230;<br />
Error: 2013-01-16 14:49:02.56&#160; Code: 0xC0048021<br />
&nbsp;&nbsp; Source: (DFT) Throw data around (TEX) Extraction FirstName [77]<br />
&nbsp;&nbsp; Description: The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "".<br />
End Error<br />
Error: 2013-01-16 14:49:02.56&#160;&#160; Code: 0xC0047017<br />
&nbsp;&nbsp; Source: (DFT) Throw data around SSIS.Pipeline<br />
&nbsp;&nbsp; Description: component "(TEX) Extraction FirstName" (77) failed validation and returned error code 0xC0048021.<br />
End Error<br />
</em></span></p></blockquote>
<p style="text-align: justify;">First we get a whole bunch of warning related to the registry, followed by errors related to the Term Extraction component, leading to a validation failure at the end. The Enterprise-only component leads to different errors, but the result is the same: we cannot run SSIS packages using DTEXEC.</p>
<p style="text-align: justify;">So why is DTEXEC installed? First of all, to run the 64-bit version of the Import/Export wizard, but also to support maintenance plans, who use SSIS behind the scenes. Since SQL Server 2005 sp2 or SQL Server 2008 CU1/sp1, it is not necessary to install SSIS to create maintenance plans. Read more about this in the blog post <a href="http://sqlblog.com/blogs/tibor_karaszi/archive/2009/08/26/do-maintenance-plans-require-ssis.aspx">Do maintenance plans require SSIS?</a> by Tibor Karaszi (<a href="http://sqlblog.com/blogs/tibor_karaszi/default.aspx">blog</a> | <a href="https://twitter.com/TiborKaraszi">twitter</a>).</p>
<p style="text-align: justify;"><strong>Integration Services only</strong></p>
<p style="text-align: justify;">Now let&#8217;s try to do the sane thing here and install SSIS, without any other option specified.</p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ssis_only_install.png?mtime=1360669468"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/ssis_only_install.png?mtime=1360669468" alt="" width="439" height="322" /></a></div>
<p><span style="text-align: justify;">DTEXEC is installed, as expected of course, alongside the Integrations Services service. Running DTEXEC through the command line gives us the result we were hoping for:</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/SSISonly_serviceON_dtexec_success.png?mtime=1360669481"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/SSISonly_serviceON_dtexec_success.png?mtime=1360669481" alt="" width="518" height="245" /></a></div>
<p><span style="text-align: justify;">Success at last! DTEXECUI isn&#8217;t installed, indicating this is a client component only. This is OK, because you probably won&#8217;t ever use it on a server.</span></p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/SSISonly_nodtexecui.png?mtime=1360669475"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/DTEXEC_install/SSISonly_nodtexecui.png?mtime=1360669475" alt="" width="373" height="211" /></a></div>
<p><span style="text-align: justify;">One final question remains: do we need the SSIS service? The answer is short: no. According to </span><a style="text-align: justify;" href="http://support.microsoft.com/kb/942176">Microsoft</a><span style="text-align: justify;">, the SSIS service only extends the functionality of SSMS, in the sense that it manages the storage of SSIS packages and that it monitors the running packages. So you can safely stop the service. However, you need to disable it as well; otherwise the service is started again once you run a package.</span></p>
<p style="text-align: justify;"><strong>Conclusion</strong></p>
<p style="text-align: justify;">You only need to install Integration Services when you want a dedicated SSIS server, but you&#8217;ll need to store your packages on the file system. You can disable the Integration Services service; it is not needed to execute a package. You also might want to install the client connectivity tools as well and any other component you might need to connect to your sources.</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/when-is-dtexec-installed">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/when-is-dtexec-installed#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2098</wfw:commentRss>
		</item>
				<item>
			<title>Leveraging MSBUILD to automate SSRS deployments &#8211; session material</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/ssrs/leveraging-msbuild-to-automate-ssrs</link>
			<pubDate>Tue, 05 Feb 2013 07:28:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Microsoft SQL Server</category>
<category domain="main">SSRS</category>
<category domain="alt">Business Intelligence</category>			<guid isPermaLink="false">2077@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/logo.png?mtime=1358861145&quot;&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/media/users/koenverbeeck/logo.png?mtime=1358861145&quot; alt=&quot;&quot; width=&quot;136&quot; height=&quot;84&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;A week ago I gave a session for the Belgian SQL Server user group, &lt;a href=&quot;http://sqlug.be/&quot;&gt;SQLUG.be&lt;/a&gt;, about how MSBUILD can be used to automate SSRS deployments. Thanks to a lovely strike of the taxi drivers in Brussels it took me only 2 hours to get at the location, but hey, the turnout was great, there was beer and pizza and the demo&amp;#8217;s didn&amp;#8217;t crash.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;You can find the demo material from my session &lt;a href=&quot;/media/users/koenverbeeck/SQLUG_MSBUILD/MSBUILD_SSRSDeploy_Demos.zip?mtime=1360009782&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and you can download the slides from &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://www.slideshare.net/KoenVerbeeck/sqlug-msbuild-ssrs-deployments&quot;&gt;SlideShare&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;. My colleague Valentino did a session as well, you can find his material on his &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://blog.hoegaerden.be/2013/01/30/automating-ssrs-deployment-download/&quot;&gt;blog&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;For everyone who attended: thanks for joining us and for being such a great audience!&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/ssrs/leveraging-msbuild-to-automate-ssrs&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/logo.png?mtime=1358861145"><img style="float: left;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/logo.png?mtime=1358861145" alt="" width="136" height="84" /></a></p>
<p style="text-align: justify;">A week ago I gave a session for the Belgian SQL Server user group, <a href="http://sqlug.be/">SQLUG.be</a>, about how MSBUILD can be used to automate SSRS deployments. Thanks to a lovely strike of the taxi drivers in Brussels it took me only 2 hours to get at the location, but hey, the turnout was great, there was beer and pizza and the demo&#8217;s didn&#8217;t crash.</p>
<p style="text-align: justify;"><span style="text-align: justify;">You can find the demo material from my session <a href="http://blogs.lessthandot.com/media/users/koenverbeeck/SQLUG_MSBUILD/MSBUILD_SSRSDeploy_Demos.zip?mtime=1360009782" target="_blank">here</a> and you can download the slides from </span><a style="text-align: justify;" href="http://www.slideshare.net/KoenVerbeeck/sqlug-msbuild-ssrs-deployments">SlideShare</a><span style="text-align: justify;">. My colleague Valentino did a session as well, you can find his material on his </span><a style="text-align: justify;" href="http://blog.hoegaerden.be/2013/01/30/automating-ssrs-deployment-download/">blog</a><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;">For everyone who attended: thanks for joining us and for being such a great audience!</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/ssrs/leveraging-msbuild-to-automate-ssrs">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/ssrs/leveraging-msbuild-to-automate-ssrs#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2077</wfw:commentRss>
		</item>
				<item>
			<title>Slow source? Make your data flow buffers smaller!</title>
			<link>http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/slow-source</link>
			<pubDate>Wed, 30 Jan 2013 12:15:00 +0000</pubDate>			<dc:creator>Koen Verbeeck</dc:creator>
			<category domain="alt">Microsoft SQL Server</category>
<category domain="main">SSIS</category>
<category domain="alt">Business Intelligence</category>			<guid isPermaLink="false">2059@http://blogs.lessthandot.com/</guid>
						<description>&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/SlowSource/PropertySettings.PNG?mtime=1359554797&quot;&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/media/users/koenverbeeck/SlowSource/PropertySettings.PNG?mtime=1359554797&quot; alt=&quot;&quot; width=&quot;222&quot; height=&quot;84&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Whoa whoah. Aren&amp;#8217;t you supposed to increase your data flow buffer size in order to speed up your packages? If you have enough memory and you can process more rows at the same time because your buffer is larger, that&amp;#8217;s what we want, right? Yes, this is confirmed by the old blog post &lt;a href=&quot;http://blogs.msdn.com/b/sqlperf/archive/2007/05/11/adjust-buffer-size-in-ssis-data-flow-task.aspx&quot;&gt;Adjust buffer size in SSIS data flow task&lt;/a&gt; by the SQL Server Performance Team. But this is only true when your source is fast enough to fill those buffers. If you have very large buffers, the remainder of the data flow is just waiting for the slow source to fill a buffer, which is just time going to waste.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Rob Farley (&lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://sqlblog.com/blogs/rob_farley/default.aspx&quot;&gt;blog &lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;| &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;https://twitter.com/rob_farley&quot;&gt;twitter&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;) describes the concept in his excellent blog post &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://sqlblog.com/blogs/rob_farley/archive/2011/02/17/the-ssis-tuning-tip-that-everyone-misses.aspx&quot;&gt;The SSIS tuning tip that everyone misses&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;. Basically, it&amp;#8217;s about filling your buffers with data as soon as possible, so other data flow tasks can start working on it. Rob achieved his goal by specifying a query hint, but you can do the same by making your buffers smaller. Because, a smaller buffer takes less time to be filled with data and can be passed on the data flow much quicker. Jamie Thomson (&lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://sqlblog.com/blogs/jamie_thomson/default.aspx&quot;&gt;blog&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; | &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;https://twitter.com/jamiet&quot;&gt;twitter&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;) describes the effect in his blog post &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://consultingblogs.emc.com/jamiethomson/archive/2007/12/18/SSIS_3A00_-A-performance-tuning-success-story.aspx&quot;&gt;SSIS: A performance tuning success story&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;. I also encountered a similar story in a &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://www.sqlservercentral.com/Forums/Topic1404429-364-1.aspx#bm1404567&quot;&gt;forum thread&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/SlowSource/Pending.PNG?mtime=1359554789&quot;&gt;&lt;img style=&quot;float: left;&quot; src=&quot;/media/users/koenverbeeck/SlowSource/Pending.PNG?mtime=1359554789&quot; alt=&quot;&quot; width=&quot;157&quot; height=&quot;154&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I&amp;#8217;ll share on of my success stories as well. In my recent Oracle migration, I was transferring a table from Oracle to SQL Server using SSIS. The table wasn&amp;#8217;t really large, only about 90,000 rows, but one column contained XML files. These were stored in the Oracle database as a CLOB column (Character Large Object) and in SQL Server as a NVARCHAR(MAX) column. Some of these XML could be quite large, some up to 50MB. When I ran my package using the default settings, 10MB for &lt;em&gt;DefaultBufferSize&lt;/em&gt; and 10,000 for &lt;em&gt;DefaultBufferMaxRows&lt;/em&gt;, I had to store a long time at a yellow source, without any data being transferred.&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;After almost 35 minutes, the package finished loading all the rows into SQL Server.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/SlowSource/Output1.PNG?mtime=1359554758&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/SlowSource/Output1.PNG?mtime=1359554758&quot; alt=&quot;&quot; width=&quot;796&quot; height=&quot;190&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;However, when I changed the &lt;/span&gt;&lt;em&gt;DefaultBufferMaxRows&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt; to 500, the package finished in a mere 11 minutes!&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/SlowSource/Output2.PNG?mtime=1359554763&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/SlowSource/Output2.PNG?mtime=1359554763&quot; alt=&quot;&quot; width=&quot;792&quot; height=&quot;184&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;To make sure this incredible speed-up wasn&amp;#8217;t the result of any caching on the source, I ran the package again with the default settings:&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a style=&quot;text-align: center;&quot; href=&quot;/media/users/koenverbeeck/SlowSource/Output3.PNG?mtime=1359554783&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/SlowSource/Output3.PNG?mtime=1359554783&quot; alt=&quot;&quot; width=&quot;794&quot; height=&quot;181&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;Possible caching seems to nibble 2 minutes off (or it just might be coincidence), but it isn&amp;#8217;t responsible for making the packages run three times as fast.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Why the big difference? I created an Excel graph displaying the size of the CLOB column for the first 20,000 rows, which roughly equals 2 buffers when the default settings are used. I used the function &lt;a href=&quot;http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lob.htm&quot;&gt;DBMS_LOB.getlength&lt;/a&gt; to get the number of characters in a particular XML file in the CLOB column. Assuming every character equals one byte, this is the same as the size in bytes. I&amp;#8217;m educated as an engineer, so g = 10, &amp;#928;&amp;#160;= 3 and my CLOB columns contains only singe byte characters and no multi-byte characters &lt;img src=&quot;http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif&quot; title=&quot;:)&quot; alt=&quot;:)&quot; class=&quot;middle&quot; width=&quot;15&quot; height=&quot;15&quot; /&gt; If there are multi-byte characters present, the following values in the graph represent the possible minimal size of the XML value. It might be bigger in reality.&lt;/p&gt;
&lt;div class=&quot;image_block&quot; style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;/media/users/koenverbeeck/SlowSource/Graph.PNG?mtime=1359554752&quot;&gt;&lt;img src=&quot;/media/users/koenverbeeck/SlowSource/Graph.PNG?mtime=1359554752&quot; alt=&quot;&quot; width=&quot;507&quot; height=&quot;317&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;We can see that around row 2800 a 20 megabyte CLOB value shows up, followed by several other large XML files. In the second buffer we have even larger XML files, one of 25MB and one of 40MB. Needless to say, it takes a while for SSIS can fill a buffer with this large data. Once a buffer is full, it is passed immediately to the destination. It&amp;#8217;s possible the next buffer is very quickly populated if the next rows contain only XML files of a few kilobytes large. But because the destination is still processing the previous large buffer, we get an effect called &lt;/span&gt;&lt;em&gt;pipeline backpressure&lt;/em&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;, which is described in detail by Todd McDermid (&lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://toddmcdermid.blogspot.be/&quot;&gt;blog &lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;| &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;https://twitter.com/Todd_McDermid&quot;&gt;twitter&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;) in his blog post &lt;/span&gt;&lt;a style=&quot;text-align: justify;&quot; href=&quot;http://toddmcdermid.blogspot.be/2011/07/what-is-pipeline-backpressure.html&quot;&gt;What is Pipeline Backpressure?&lt;/a&gt;&lt;span style=&quot;text-align: justify;&quot;&gt;. When we combine these two effects &amp;#8211; a slow source and an occasional pipeline backpressure &amp;#8211; we get a very slow package.&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;When we use a much smaller buffer &amp;#8211; 500 rows in my case &amp;#8211; the source can already fill up a few buffers before the first large XML is reached. This keeps the destination busy while the source processes these big rows. Because the larger XML files are uniformly distributed over the table, we can take full advantage of this effect, cutting the total package runtime to one third.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;When dealing with a slow source, it might be beneficial to lower the size of the data flow buffer in order to get better performance. Don&amp;#8217;t do this all the time! Most of the time the default settings are good enough and if the source is fast you might benefit from bigger buffers. As always, test test test and then put it in production.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/slow-source&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://lessthandot.com/&quot;&gt;LessThanDot&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/PropertySettings.PNG?mtime=1359554797"><img style="float: left;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/PropertySettings.PNG?mtime=1359554797" alt="" width="222" height="84" /></a></p>
<p style="text-align: justify;">Whoa whoah. Aren&#8217;t you supposed to increase your data flow buffer size in order to speed up your packages? If you have enough memory and you can process more rows at the same time because your buffer is larger, that&#8217;s what we want, right? Yes, this is confirmed by the old blog post <a href="http://blogs.msdn.com/b/sqlperf/archive/2007/05/11/adjust-buffer-size-in-ssis-data-flow-task.aspx">Adjust buffer size in SSIS data flow task</a> by the SQL Server Performance Team. But this is only true when your source is fast enough to fill those buffers. If you have very large buffers, the remainder of the data flow is just waiting for the slow source to fill a buffer, which is just time going to waste.</p>
<p><span style="text-align: justify;">Rob Farley (</span><a style="text-align: justify;" href="http://sqlblog.com/blogs/rob_farley/default.aspx">blog </a><span style="text-align: justify;">| </span><a style="text-align: justify;" href="https://twitter.com/rob_farley">twitter</a><span style="text-align: justify;">) describes the concept in his excellent blog post </span><a style="text-align: justify;" href="http://sqlblog.com/blogs/rob_farley/archive/2011/02/17/the-ssis-tuning-tip-that-everyone-misses.aspx">The SSIS tuning tip that everyone misses</a><span style="text-align: justify;">. Basically, it&#8217;s about filling your buffers with data as soon as possible, so other data flow tasks can start working on it. Rob achieved his goal by specifying a query hint, but you can do the same by making your buffers smaller. Because, a smaller buffer takes less time to be filled with data and can be passed on the data flow much quicker. Jamie Thomson (</span><a style="text-align: justify;" href="http://sqlblog.com/blogs/jamie_thomson/default.aspx">blog</a><span style="text-align: justify;"> | </span><a style="text-align: justify;" href="https://twitter.com/jamiet">twitter</a><span style="text-align: justify;">) describes the effect in his blog post </span><a style="text-align: justify;" href="http://consultingblogs.emc.com/jamiethomson/archive/2007/12/18/SSIS_3A00_-A-performance-tuning-success-story.aspx">SSIS: A performance tuning success story</a><span style="text-align: justify;">. I also encountered a similar story in a </span><a style="text-align: justify;" href="http://www.sqlservercentral.com/Forums/Topic1404429-364-1.aspx#bm1404567">forum thread</a><span style="text-align: justify;">.</span></p>
<p style="text-align: justify;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Pending.PNG?mtime=1359554789"><img style="float: left;" src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Pending.PNG?mtime=1359554789" alt="" width="157" height="154" /></a></p>
<p style="text-align: justify;">I&#8217;ll share on of my success stories as well. In my recent Oracle migration, I was transferring a table from Oracle to SQL Server using SSIS. The table wasn&#8217;t really large, only about 90,000 rows, but one column contained XML files. These were stored in the Oracle database as a CLOB column (Character Large Object) and in SQL Server as a NVARCHAR(MAX) column. Some of these XML could be quite large, some up to 50MB. When I ran my package using the default settings, 10MB for <em>DefaultBufferSize</em> and 10,000 for <em>DefaultBufferMaxRows</em>, I had to store a long time at a yellow source, without any data being transferred.</p>
<p><span style="text-align: justify;">After almost 35 minutes, the package finished loading all the rows into SQL Server.</span></p>
<p style="text-align: justify;"><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output1.PNG?mtime=1359554758"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output1.PNG?mtime=1359554758" alt="" width="796" height="190" /></a></p>
<p><span style="text-align: justify;">However, when I changed the </span><em>DefaultBufferMaxRows</em><span style="text-align: justify;"> to 500, the package finished in a mere 11 minutes!</span></p>
<p style="text-align: justify;"><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output2.PNG?mtime=1359554763"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output2.PNG?mtime=1359554763" alt="" width="792" height="184" /></a></p>
<p><span style="text-align: justify;">To make sure this incredible speed-up wasn&#8217;t the result of any caching on the source, I ran the package again with the default settings:</span></p>
<p style="text-align: justify;"><a style="text-align: center;" href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output3.PNG?mtime=1359554783"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Output3.PNG?mtime=1359554783" alt="" width="794" height="181" /></a></p>
<p><span style="text-align: justify;">Possible caching seems to nibble 2 minutes off (or it just might be coincidence), but it isn&#8217;t responsible for making the packages run three times as fast.</span></p>
<p style="text-align: justify;">Why the big difference? I created an Excel graph displaying the size of the CLOB column for the first 20,000 rows, which roughly equals 2 buffers when the default settings are used. I used the function <a href="http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_lob.htm">DBMS_LOB.getlength</a> to get the number of characters in a particular XML file in the CLOB column. Assuming every character equals one byte, this is the same as the size in bytes. I&#8217;m educated as an engineer, so g = 10, &#928;&#160;= 3 and my CLOB columns contains only singe byte characters and no multi-byte characters <img src="http://blogs.lessthandot.com/rsc/smilies/icon_smile.gif" title=":)" alt=":)" class="middle" width="15" height="15" /> If there are multi-byte characters present, the following values in the graph represent the possible minimal size of the XML value. It might be bigger in reality.</p>
<div class="image_block" style="text-align: center;"><a href="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Graph.PNG?mtime=1359554752"><img src="http://blogs.lessthandot.com/media/users/koenverbeeck/SlowSource/Graph.PNG?mtime=1359554752" alt="" width="507" height="317" /></a></div>
<p><span style="text-align: justify;">We can see that around row 2800 a 20 megabyte CLOB value shows up, followed by several other large XML files. In the second buffer we have even larger XML files, one of 25MB and one of 40MB. Needless to say, it takes a while for SSIS can fill a buffer with this large data. Once a buffer is full, it is passed immediately to the destination. It&#8217;s possible the next buffer is very quickly populated if the next rows contain only XML files of a few kilobytes large. But because the destination is still processing the previous large buffer, we get an effect called </span><em>pipeline backpressure</em><span style="text-align: justify;">, which is described in detail by Todd McDermid (</span><a style="text-align: justify;" href="http://toddmcdermid.blogspot.be/">blog </a><span style="text-align: justify;">| </span><a style="text-align: justify;" href="https://twitter.com/Todd_McDermid">twitter</a><span style="text-align: justify;">) in his blog post </span><a style="text-align: justify;" href="http://toddmcdermid.blogspot.be/2011/07/what-is-pipeline-backpressure.html">What is Pipeline Backpressure?</a><span style="text-align: justify;">. When we combine these two effects &#8211; a slow source and an occasional pipeline backpressure &#8211; we get a very slow package.</span></p>
<p style="text-align: justify;">When we use a much smaller buffer &#8211; 500 rows in my case &#8211; the source can already fill up a few buffers before the first large XML is reached. This keeps the destination busy while the source processes these big rows. Because the larger XML files are uniformly distributed over the table, we can take full advantage of this effect, cutting the total package runtime to one third.</p>
<p style="text-align: justify;"><strong>Conclusion</strong></p>
<p style="text-align: justify;">When dealing with a slow source, it might be beneficial to lower the size of the data flow buffer in order to get better performance. Don&#8217;t do this all the time! Most of the time the default settings are good enough and if the source is fast you might benefit from bigger buffers. As always, test test test and then put it in production.</p><div class="item_footer"><p><small><a href="http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/slow-source">Original post</a> blogged on <a href="http://lessthandot.com/">LessThanDot</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.lessthandot.com/index.php/DataMgmt/ssis-1/slow-source#comments</comments>
			<wfw:commentRss>http://blogs.lessthandot.com/index.php/DataMgmt/?tempskin=_rss2&#38;disp=comments&#38;p=2059</wfw:commentRss>
		</item>
			</channel>
</rss>
