SqlDbType.Structured ADO.NET 类型有上限吗?

Ban*_*San 6 sql-server ado.net table-valued-parameters

SqlDbType.Structured将数据发送到 sproc 中的 Table 参数时,类型的行数\总大小是否有上限?

我找不到任何建议,所以我假设如果发送了一个巨大的数据集,只会有一个超时。

我正在查看 2000 行,所以没什么可怕的。我只是想抢占任何潜在的爆炸。

Dan*_*man 5

表值参数的大小没有固有限制。但是,如果在没有流式传输的情况下传递值,则可能会遇到客户端内存限制,例如使用DataTableor IEnumerable<SqlDataRecord>(没有流源实现)而不是DataReader.

在服务器端,限制是 tempdb 存储。

2K 行不会有问题,因为我已经通过了数百万行而没有问题。但是,一个考虑因素是确保MaxLength为字符串列指定一个DataTable值。请参阅我的博客文章SQL Server TVP 性能问题