• The conventional wisdom is to use Linq to stream XML data. Note this article. I have never used Linq and have heard that it's slow for this; nonetheless, that's one option.

    Adam Aspin has a good way to do this using the SQLXML Bulk Loader[/url]. I did this a very long time ago and it seemed to work well. I was looking through the article I just posted and noticed this line:

    SQLXML Bulk Loader is best used in the following situations:

    ...When the XML source structure is relatively simple.

    Since you're dealing with a complex XML structure you may want to first transform the XML into a less complex structure using XSLT. SSIS has an XSLT transform task[/url]. If you are not familiar/comfortable with XSLT post some sample XML with the desired results here and I can show you how to do it.

    "I cant stress enough the importance of switching from a sequential files mindset to set-based thinking. After you make the switch, you can spend your time tuning and optimizing your queries instead of maintaining lengthy, poor-performing code."

    -- Itzik Ben-Gan 2001