我编写了一些工资单处理软件,最终使用SqlDataAdapter.Insert()
. (我正在使用创建的默认插入命令SqlCommandBuilder()
.) 我在 Windows 7 上使用 .NET Framework 4,写入 SQL Server 2008(不是 R2)Std Edition x64 SP3。问题是,我只看到从我的 PC(Dell Optiplex 990 Core i7)到 SQL Server(我的 PC 和服务器上的 NIC 是 GB Enet,但不幸的瓶颈之间有一些 100Mbps 的交换机)的吞吐量约为 2 Mbps,但仍然 - 100Mbps)。我可以将文件从我的 PC 复制到运行 SQL Server 的服务器,并且没有吞吐量问题 - 我可以在那里获得非常接近 100 Mbps 的吞吐量。我将数据库放在另一个运行 2008 R2 的 LAN SQL Server 上,在那里我设法获得了 5 Mbps 的吞吐量,但仍然 - 非常慢。Insert()
运行命令时,我的 PC 的 CPU 接近 0 。我试图增加和减少数据包大小参数SqlConnection.ConnectionString
财产,但什么也没做。
如果我在我的 PC 上执行SELECT * FROM <table>
从 SSMS 到有问题的 SQL Server,我可以获得大约 45 Mbps 的持续吞吐量。
我不确定下一步该去哪里寻找罪魁祸首 - 任何建议表示赞赏。