Hay dos formas en que abordaría esto:
BCP.exe
SQL Server proporciona la utilidad de línea de comandos bcp para importar datos de forma masiva. Simplemente podría incorporar la ejecución de bcp en su script o ventana de Powershell para cargar los datos csv. Ejemplo:
$loadfile = "C:\datafile\loadthis.csv"
bcp pity.dbo.foo in $loadfile -T -c -t","
Uso de .NET
También podría usar las bibliotecas .NET en Powershell, pero esta es una propuesta mucho más complicada. Primero, obtenga Out-DataTable y Write-DataTable guiones de Chad Miller, que te harán la vida mucho, mucho más fácil. Entonces podrías hacer lo siguiente:
$dt = Import-Csv -Path "C:\datafile\loadthis.csv" | Out-DataTable
Write-DataTable -ServerInstance "localhost" -Database "pity" -TableName "foo" -Data $dt
Estas y otras soluciones se pueden encontrar en detalle en esta publicación de blog .