<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>A SQL Server Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/ashvinis/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/ashvinis/feed.xml</link>
    <description />
    <lastBuildDate>Tue, 16 Apr 2019 04:43:52 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>The impact of Gemini (Or the power of a simple question)</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/the-impact-of-gemini-or-the-power-of-a-simple-question</link>
      <pubDate>Wed, 08 Oct 2008 20:14:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2008/10/08/the-impact-of-gemini-or-the-power-of-a-simple-question/</guid>
      <description><![CDATA[If you're reading this, you've probably heard about Project Gemini, the Self Service Analysis...]]></description>
      <content:encoded><![CDATA[<P>If you're reading this, you've probably heard about Project Gemini, the Self Service Analysis capabilities to be delivered as part of SQL Server Kilimanjaro.&nbsp;It's great to be able to finally share some details about what we've been working so hard on. We're extremely proud of the engine that enables this experience and&nbsp;can't wait to talk about the details, but that'll have to wait for a little bit more.</P>
<P>I was walking the exhibition floor today and had a profound experience. Looking over the shoulder of someone else,&nbsp;I was eavesdropping on a demo of a&nbsp;BI tool. It was a cool looking dashboard with impressive visualizations, and in the&nbsp;past few&nbsp;years, this would have been considered great&nbsp;technology, immediately applicable. However, what this customer asked next was worth the last couple years of hard work for me:&nbsp;"Will it take my colleague and I to build this or can users do it themselves?" </P>
<P>Wow. </P>
<P>Realize what has just happened.&nbsp;Our users now expect a lot more from the BI industry, to go beyond allowing customizations of pre-built solutions and&nbsp;instead enable more people to participate earlier in the food chain.&nbsp;This shift in the conversation is the best example of the inflection point we've now crossed. In my (biased) opinion, having a mainstream player not only enter the self service BI space but redefine what users expect&nbsp;from tools in&nbsp;this space is revolutionary.&nbsp;I don't use that word lightly: did anything else in the last decade move the dial as much to help realize the "BI for the masses" vision? </P>
<P>I hope you can appreciate the vigor and intensity we've been working with, and get some understanding for the focus. These are truly very exciting times! </P>]]></content:encoded>
    </item>
    <item>
      <title>Big news at the BI Conference. Are you coming?</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/big-news-at-the-bi-conference-are-you-coming</link>
      <pubDate>Tue, 09 Sep 2008 17:13:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2008/09/09/big-news-at-the-bi-conference-are-you-coming/</guid>
      <description><![CDATA[Hi folks, 
It's been a while since I posted. I'm back in the Analysis Services team now where we've...]]></description>
      <content:encoded><![CDATA[<P>Hi folks, </P>
<P>It's been a while since I posted. I'm back in the Analysis Services team now where we've been busy finishing off SQL Server 2008 and working on a set of technologies&nbsp;that will be unveiled at the BI Conference. </P>
<P>I remember a conference back in the 7.0 days when we introduced OLAP Services and someone from the audience hurried outside to make a phone call. I overheard him saying "You need to see this... it's going to be big!"</P>
<P>This event will be one of those rare occasions where the team knows we're on to something that will change the BI market. If you're reading this and coming to the conference, besides a couple of keynotes, there is only one session that will talk about the technology in some detail. More info on that session is buried&nbsp;<A class="" href="https://www.msbiconference.com/pages/Sessiondetails.aspx?sid=468" mce_href="https://www.msbiconference.com/pages/Sessiondetails.aspx?sid=468">here</A>. Until the conference,&nbsp;the abstract is the only information we can&nbsp;share,&nbsp;but believe me, we're itching to say more! &nbsp;</P>
<P>If you do come by, I'll be in the back by the door waiting for people to make those calls. See you there!</P>
<P>ash</P>]]></content:encoded>
    </item>
    <item>
      <title>Nsort is ready!</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/nsort-is-ready</link>
      <pubDate>Tue, 14 Mar 2006 20:42:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2006/03/14/nsort-is-ready/</guid>
      <description><![CDATA[For the past few months, a few of us have had the pleasure of working with Ordinal to create an...]]></description>
      <content:encoded><![CDATA[<P>For the past few months, a few of us have had the pleasure of working with Ordinal to create an extremely performant sort component. </P>
<P>Chris, from Ordinal, sent an email earlier today announcing that they're done with a production ready version. </P>
<P>This is really great news, especially if you know the history of Ordinal and their reputation. Chris has been one of the most solid developers I've worked with either inside or outside Microsoft. </P>
<P>Anyways, check out <A href="https://www.ordinal.com/ssis.html">https://www.ordinal.com/ssis.html</A>&nbsp;if you're interested. </P>
<P>Enjoy,</P>
<P>ash</P>]]></content:encoded>
    </item>
    <item>
      <title>Metadata tool and whitepaper for BI components</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/metadata-tool-and-whitepaper-for-bi-components</link>
      <pubDate>Wed, 21 Dec 2005 17:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/12/21/metadata-tool-and-whitepaper-for-bi-components/</guid>
      <description><![CDATA[Hi again, 
Over the last few months a lot of you have expressed a need to do impact analysis and...]]></description>
      <content:encoded><![CDATA[<P>Hi again, </P>
<P>Over the last few months a lot of you have expressed a need to do impact analysis and lineage investigations across the different BI components we've got.... if I change this table here what packages, cubes, reports will be affected. </P>
<P>Well, earlier this week the BI team released a metadata pack that you can use for this.&nbsp;It includes sample projects, sample reports, etc. Right now&nbsp;it handles getting metadata from SSIS and SSAS, we hope to get to SSRS&nbsp;in the future.&nbsp;</P>
<P>We decided to release the source code for it as well so that: </P>
<P>- you have a piece of code that demonstrates using the object models for SSIS and SSAS, and</P>
<P>- you can extend the work we've done for integrating other technologies in the metadata repository as well. </P>
<P>While the tool is useful as it is, we're hoping there'll be a community effort to drive this forward as well... I can easily imagine a workspace on gotdotnet where active participation will make this tool more comprehensive than we could ever manage to do. </P>
<P>Anyways, the link is <SPAN><A href="https://www.microsoft.com/downloads/details.aspx?FamilyId=11DAA4D1-196D-4F2A-B18F-891579C364F4&amp;displaylang=en">https://www.microsoft.com/downloads/details.aspx?FamilyId=11DAA4D1-196D-4F2A-B18F-891579C364F4&amp;displaylang=en</A></SPAN></P>
<P><SPAN>There's also a whitepaper here: <A href="https://www.microsoft.com/downloads/details.aspx?FamilyId=182BD330-0189-450C-A2FE-DF5C132D9DA9&amp;displaylang=en">https://www.microsoft.com/downloads/details.aspx?FamilyId=182BD330-0189-450C-A2FE-DF5C132D9DA9&amp;displaylang=en</A></SPAN></P>
<P><SPAN>As usual, I look forward to your feedback.</SPAN></P>
<P><SPAN>enjoy</SPAN></P>
<P><SPAN>ash</SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>Biztalk, SSIS, Indigo, SSB, AAAAA!</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/biztalk-ssis-indigo-ssb-aaaaa</link>
      <pubDate>Mon, 14 Nov 2005 17:42:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/11/14/biztalk-ssis-indigo-ssb-aaaaa/</guid>
      <description><![CDATA[This is a FAQ that we get at least once every time we present. I got it last week doing launch...]]></description>
      <content:encoded><![CDATA[<P>This is a FAQ that we get at least once every time we present. I got it last week doing launch activities in Portugal, and then earlier today on a webcast on extending SSIS. </P>
<P>For those not familiar with the excellent whitepaper on this, check this one out: <A href="https://msdn.microsoft.com/library/default.asp?url=/library/en-us/bts_2004wp/html/14bc36a8-69a9-48ed-8e4c-1c85202544c0.asp">https://msdn.microsoft.com/library/default.asp?url=/library/en-us/bts_2004wp/html/14bc36a8-69a9-48ed-8e4c-1c85202544c0.asp</A></P>
<P>regards</P>]]></content:encoded>
    </item>
    <item>
      <title>Finally!</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/finally</link>
      <pubDate>Thu, 27 Oct 2005 17:09:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/10/27/finally/</guid>
      <description><![CDATA[As you know, we just declared SQL RTM earlier today. 
For those familiar with the changes in this...]]></description>
      <content:encoded><![CDATA[<P>As you know, we just declared SQL RTM earlier today. </P>
<P>For those familiar with the changes in this release, my goodness. This has been a huge release. I've had a kid along the way, some have had two. Shipping software of this magnitude is probably one of the most gratifying experiences, and I had to go around shake the hand of everyone that I met today and congratulate them. 5 years is a long time. </P>
<P>If you're one of our regular contributors and haven't received a thanks from me directly, apologies. Wish I could shake your hand. </P>
<P>Now, on to&nbsp;the cigar. </P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>SSIS: Lookup from Text Files</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/ssis-lookup-from-text-files</link>
      <pubDate>Mon, 24 Oct 2005 15:33:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/10/24/ssis-lookup-from-text-files/</guid>
      <description><![CDATA[Ever want to do a lookup on a text file without putting it in a database or using a merge...]]></description>
      <content:encoded><![CDATA[<P>Ever want to do a lookup on a text file without putting it in a database or using a merge join?</P>
<P>Grant from the Project REAL team found a great nugget:</P>
<P>Openrowset now allows the BULK clause to be specified which accepts a filename and format specification. An OLE-DB driver for flat-files or XML would also do the job but this is a nice work-around for the native stack. The only difficulty is getting your head around the format for the .fmt file but after that it 'just works':</P>
<P>&nbsp;&nbsp;&nbsp; select * <BR>&nbsp;&nbsp;&nbsp; from openrowset(bulk N'c:\temp\test.txt', formatfile = 'c:\temp\test.fmt') as x</P>
<P>thanks, Grant! <BR></P>
<P>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>SSIS: Debugging foreach NodeList enumerators</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/ssis-debugging-foreach-nodelist-enumerators</link>
      <pubDate>Fri, 21 Oct 2005 22:06:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/10/21/ssis-debugging-foreach-nodelist-enumerators/</guid>
      <description><![CDATA[Earlier today Fred S. asked a great question. 
"Using the following data I’m trying to get each...]]></description>
      <content:encoded><![CDATA[<P>Earlier today Fred S. asked a great question. </P>
<P>"Using the following data I’m trying to get each node Element populated into their own variables.<BR>XML: <BR>&lt;DataBases&gt;<BR>&nbsp;&nbsp; &lt;DataBase&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Sales&lt;/Name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Action&gt;DBCC&lt;/Action&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;FLOP&gt;1&lt;/FLOP&gt;<BR>&nbsp;&nbsp; &lt;/DataBase&gt;<BR>&nbsp;&nbsp; &lt;DataBase&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Name&gt;Inventory&lt;/Name&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Action&gt;DBCC&lt;/Action&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;FLOP&gt;1&lt;/FLOP&gt;<BR>&nbsp;&nbsp; &lt;/DataBase&gt;<BR>&lt;/DataBases&gt;</P>
<P><BR>Want to do:<BR>Name&nbsp;&nbsp; -&gt; vsDataBase&nbsp;&nbsp;&nbsp;&nbsp; <BR>Action -&gt; vsAction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>FLOP&nbsp;&nbsp; -&gt; vnFLOP<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>Where vsDataBase, vsAction and vnFlop are variables of type string, string, int32. "</P>
<P>He was using For each loop's ForEach NodeList enumerator, lets see how we can do this. </P>
<P>There might be other ways to do it, I wanted to do it using two steps... first get a database, then gets its element values. </P>
<P>The result of the first step would be the nodelist, so the EnumerationType should be ElementCollection. Then there were the Outer* and Inner* properties that I confess I didn't understand. </P>
<P>Here's how this enumerator currently works: </P>
<P>- The OuterXPathString will be used to get the list of elements collection from the XML document specified earlier. In this case, our XPath string is '/DataBases/*' which would return all DataBase elements.</P>
<P>- For each element in the collection we now have (i.e. for each DataBase element), the InnerXPath is applied. We can set this property to be '*' (or the equivalent 'child::*') and InnerElementType of 'NodeText' so that we get the value of the child elements. Since there're multiple children per DataBase, the result of the this XPath will be an array of strings (each string is the value of the element). </P>
<P>For the first time through the loop, then, the current value of the enumerator is an array of three strings: {"Sales", "DBCC", "1"}. The next time through the loop the current value will be an array of three strings again: {"Inventory", "DBCC", "1"}. </P>
<P>Per the discussion above the current value of the enumerator during an enumeration should be an array of strings, but I wanted to see the array to make sure that was right. Turns out I had to use an undocumented feature to do this. (As soon as I post this message I'll be sending a note to the doc folks to make sure this isn't undocumented for too long because it's really useful!). </P>
<P>If you map the index '-1' to a variable of type 'Object', that variable gets populated with the complete collection (which is current value of the enumerator). Then I used a script task in the loop with simple code like so: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Imports System.Collections<BR>. . .</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim o As IEnumerator<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim o2 As Object<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o = CType(Dts.Variables("Variable").Value, IEnumerator)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.Reset()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o.MoveNext()<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; o2 = o.Current<BR>&nbsp; <BR>and put a breakpoint at the last line. </P>
<P>When you execute the package now, the breakpoint is hit and the first time through you can see that o2 is the string "Sales". Just step through the iterator to confirm the array contents are what you expect them to be. </P>
<P>Knowing the contents of the array, then, it's fairly straight forward to do the mapping. Create the variables, set their types to string, then use the indices like this: </P>
<P>User::vsDataBase&nbsp;&nbsp;&nbsp; 0<BR>User::vsAction&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1<BR>User::vsFLOP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2</P>
<P>Note that vsFLOP is not vnFLOP... the text is string, so you'll have to convert it to a number.</P>
<P>Also note that this example assumes a well formed document. Specifically that each DataBase element will have three children in the right order.</P>
<P>Think that's about it. </P>
<P>Is there a better way to do this in a loop? Let me know! </P>
<P>Thanks Fred for a great question. </P>
<P>ash</P>]]></content:encoded>
    </item>
    <item>
      <title>SISS: Providing parameters when providers don't support them</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/siss-providing-parameters-when-providers-dont-support-them</link>
      <pubDate>Thu, 20 Oct 2005 14:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/10/20/siss-providing-parameters-when-providers-dont-support-them/</guid>
      <description><![CDATA[This has come up a few times recently, and I couldn't find the information for them in the usual...]]></description>
      <content:encoded><![CDATA[<P>This has come up a few times recently, and I couldn't find the information for them in the usual sources. </P>
<P>The desire that some folks have is to support parameters in their SQL statements. Sounds reasonable. The OLEDB source, for example, supports parameters. However, some providers don't support derivation of parameters from a statement. The question is how to make parameterized queries work for those providers. </P>
<P>For the OLEDB Source, the trick is to use the 'SQL Command from variable' access mode. What that means is that the sql command used during runtime will come from the contents of a variable. As you may know, in addition to just storing values, Variables can also store expressions which are evaluated to return the variable's value. </P>
<P>Lets work through an example. Lets say you want to execute this statement: </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SELECT&nbsp;Income from Customer where Age &gt; ?</P>
<P>But your provider doesn't support finding out there's one parameter in this statement. </P>
<P>What we can do here is to create two variables. Below we have the properties you'd set for the two variables displayed in a '&lt;prop&gt;:&lt;value&gt;' format.</P>
<P>#1: </P>
<P>&nbsp;&nbsp; Name: AgeVariable</P>
<P>&nbsp;&nbsp; Type: String</P>
<P>&nbsp;&nbsp;&nbsp;Value: 10</P>
<P>#2: </P>
<P>&nbsp;&nbsp; Name: SqlStatementVariable</P>
<P>&nbsp;&nbsp; Type: String</P>
<P>&nbsp;&nbsp; Expression: "SELECT&nbsp;Income from Customer where Age &gt; " + @AgeVariable</P>
<P>&nbsp;&nbsp; EvaluateAsExpression: True</P>
<P>In this case I've hard coded the variable value to 10, but of course you can use whatever mechanism you want to (result of an Execute SQL task, the current value of a loop enumerator, etc.) to set that variable value. </P>
<P>Now we can use the 'SqlStatementVariable' as the source for the OLEDB Source. </P>
<P>How about on the destination side? What if&nbsp;I'm inserting into the customer table and want to set Age to 10, lets say, for all the rows.</P>
<P>The trick there is to introduce the variables as columns inside your data flow using something like a Derived Column transform and then map this column to the colunms of your table. </P>
<P>Hope this helps. If not, let me know and I can edit this post to make it more useful. </P>
<P>regards,</P>
<P>ash</P>]]></content:encoded>
    </item>
    <item>
      <title>SSIS Best Practices - Performance</title>
      <link>https://docs.microsoft.com/archive/blogs/ashvinis/ssis-best-practices-performance</link>
      <pubDate>Tue, 27 Sep 2005 16:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Ashvini Sharma [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/ashvinis/2005/09/27/ssis-best-practices-performance/</guid>
      <description><![CDATA[We've been slowly creating a list of best practices. Simon asked me about these at the PDC a couple...]]></description>
      <content:encoded><![CDATA[<P>We've been slowly creating a list of best practices. <A href="https://www.sqljunkies.com/WebLog/simons">Simon</A> asked me about these at the PDC a couple of weeks back. It's time to share them out not just to make folks aware of them but also to solicit other goodness you'd like us to include in the official list. </P>
<P>First off, Performance:&nbsp;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p>&nbsp;</o:p></P>
<OL style="MARGIN-TOP: 0in" type=1>
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[Oledb Source, Lookup, Fuzzy Lookup]: Remove columns which’re not used downstream.<o:p>&nbsp;</o:p> 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[Oledb Source, Lookup, Fuzzy Lookup]: Use a select statement when fetching data from a view instead of using the table drop down. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[OLEDB Command Destination]: for large number of rows, this component might not scale because it sends one SQL statement per row. Persist data to a temporary table and use set based SQL. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[SCD]: for large number of rows that will not exist in the dimension table, consider using a lookup before the SCD. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[OLE DB Destination]: if the server is local, consider using SQL Server destination. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p></o:p></P>[Flat file source]: turn on fast parse for columns that have types that fast parse understands. Look at BOL for more info on Fast Parse.<o:p>&nbsp;</o:p> 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[Conditional Split]: For transforms that use conditions based on columns coming straight from OLEDB or ADO.Net sources, consider using the native filtering from the relational database to remove rows before they come in to the pipeline. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[Flat file Source]: For transforms that have all columns with the default column type and size, consider using the ‘Suggest Type’ functionality. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[OLEDB Destination]: Review the fast load settings on the destination adapter. 
<LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">[SQL Server]: for OLEDB Destinations/SQL Server Destinations that perform bulk insert into a database, verify that the logging mode is appropriate for performance. Refer to BOL for more info.</LI></OL>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in">&nbsp;</P>]]></content:encoded>
    </item>
  </channel>
</rss>