少なくとも 2 つの既知の (潜在的な) 欠点があるようです (この (1) チーム ブログ ):
<オール> <リ>明らかに、これは、MARS 対応の設計に対して実行するように設計されていないレガシー システムで潜在的な問題を引き起こす可能性があります。"MARS 以外の世界で実行するように最適化された既存のコードは、変更せずに実行すると、わずかなパフォーマンスの低下を示す可能性があります。 MARS"
<リ>「MARS を使用すると、複数の複数ステートメントのバッチをサーバーに送信できます。サーバーはそのようなバッチの実行をインターリーブします。つまり、バッチがたとえば SET または USE ステートメントを介してサーバーの状態を変更したり、TSQL トランザクション管理ステートメント (BEGIN TRAN、COMMIT、ROLLBACK) を使用したりすると、ユーザーとサーバーの両方が混乱する可能性があります。あなたの実際の意図が何であるかについて」
MARS 対応の設計はまだ試していませんが、現在のプロジェクトではかなり近いところまで来ています。競合する (場合によっては依存する) クエリ操作 (アクティブなレコードセットが実行されているのと同じデータベースから構成データを遅延読み込みするなど) には、わずかな問題があります。
詳細については、MSDN サイト (2) ここ を参照してください。
[ (1) https://web.archive.org/web/20190911155929/https://blogs.msdn.microsoft.com/sqlnativeclient/2006/09/27/using- mars-with-sql-native-client/
]
[ (2) http://msdn.microsoft. com/en-us/library/ms131686.aspx
]