SQL Serverが狙われるのは複文が使えるということよりも、Transact-SQLを使えばこの種の攻撃が簡単にできるという点にあるのではないかと思います。
未知のデータベースに対して全テーブルの全カラムの値を更新するということを行う場合、まずテーブルの名前とカラム名を取得して、それを元にUPDATE文を生成し、実行するという手順が必要になります。一般的なSQLでは動的にUPDATE文を生成し実行するということはできないため、テーブルの名前とカラム名の問い合わせ結果を一度入手して、手元でUPDATE文を生成するということを行うことになります。とはいえ、任意の問い合わせ結果が取り出せる都合の良い脆弱性はなかなか存在しないため、この攻撃を成功させるのは難しいはずです。
が、Transact-SQLはストアドプロシージャを記述できるほど高機能なため、前述の手順を単一のクエリーで行うことができます。これであれば、とにかくクエリーを実行させさえすれば攻撃が成功します。攻撃用のクエリーも固定で良いため、自動化も容易です。
通常のクエリーでTransact-SQLのexecute関数のようなものが使えるシステムであれば同様の攻撃を受ける可能性が高いですが、SQL Serverのようにストアドプロシージャの定義ではない部分でそういうものが使えるシステムはそうは無いと思います。