これは ご存知のようにSQL Server 2005 で導入されたcmdshell 拡張ストアド プロシージャです。
実行形式(exeやbat等)を直接起動してくれるものです。なんでも出来てしまいます。(UIを伴うのはもちろん不可)
便利な反面とっても怖い面があります。 Webアプリ(IIS)でこの機能を実行すると、セキュリティに関係なく実行できてしまいます。
IISの設定の実行アクセス権やFile書き込み権限などは無視されて実行されるので注意が必要です。
SQLインジェクションでcallされたら.....?!
SQLserverの世界での実行なのでIISの支配下でないのでこれでいいと言えばいいのですが、一抹の不安がのこります。
イントラネット時で且つ信頼できる環境でしかxp_cmdshellを有効にしないとは思いますが。運用には最新の注意がいりますね。
SQL server構成ツールでの設定になるのでRDB全体しか有効か無効かの指定ができないようです。
せめてDB毎かSQLインスタンス毎に設定できるようにして欲しいなぁ。
それと、xp_cmdshellを非同期型実行モードも欲しい。