Insertion de masse dans le serveur SQL

Je suis tenté d'insérer une masse de documents dans SQL Server 2005 à partir de Vb.Net. Bien que l'insertion fonctionne très bien, je fais de mon mieux pour essayer de le rendre aussi vite que possible. Actuellement, il faut ~ 11 minutes pour 100 000 entrées. Quelle serait l'approche suggérée pour l'insertion d'un grand nombre d'enregistrements dans SQL Server à partir d'une Application?

Mon apporach est essentiellement l'ouverture de la connexion, le parcours de ma liste d'informations et de tir sur sql insert relevés, et la fermeture de la connexion. Quelqu'un a une meilleure suggestion sur la façon de faire cela?

Fonction Actuelle:

Public Sub BatchInsert(ByVal ParamCollections As List(Of SqlParameter()))

    Dim Conn As SqlConnection = New SqlConnection(DBHelper.DatabaseConnection)
    Using scope As TransactionScope = New TransactionScope()
    Using Conn

        Dim cmd As SqlCommand = New SqlCommand("sproc_name", Conn)

        Conn.Open()
        cmd.CommandType = CommandType.StoredProcedure

        For i = 0 To ParamCollections.Count - 1

            cmd.Parameters.Clear()
            cmd.Parameters.AddRange(ParamCollections(i))
            cmd.ExecuteNonQuery()

        Next

        Conn.Close()
        scope.Complete()
    End Using
    End Using

End Sub

source d'informationauteur Nathan