リストに約2100件以上のアイテムがあるとSPList.Items.Countプロパティでさえも例外発生!

同一フォルダ内にアイテム数2000件超えてるリストでSPList.Items.Countプロパティ(SPList.Items プロパティ,SPListItemCollection.Count プロパティ)を使用するとSqlExceptionになりました。

System.Data.SqlClient.SqlException: 着信の表形式のデータ ストリーム (TDS) リモート プロシージャ コール (RPC) プロトコル ストリームが不適切です。この RPC 要求に指定されたパラメータが多すぎます。最大数は 2100 です。

結局のところアイテム数が2100件超えてる場合、SPLsit.Items (つまりSPListItemCollection)のほとんどのメンバはこの例外になってしまいます。Countのほかにforeachが暗黙に呼び出すGetEnumeratorも上記の例外になってしまいます。