Você está gravando no banco de dados como um BLOB ou traduzindo os dados de alguma forma e executando inserções para cada linha?
Sua resposta nos comentários me deixou confuso. Escrever um fluxo em uma coluna BLOB é muito diferente de obter os dados e depois traduzi-los em inserções para linhas separadas.
Independentemente disso, o streaming para uma coluna BLOB é possível criando primeiro a linha com a coluna blob na qual você precisa inserir, chamando repetidamente uma instrução de atualização:
update myTable set myColumn.Write(@data, @offset, @length) where someid = @someId
para pedaços de bytes do fluxo.
Exemplo perfeito localizado aqui.