これはearlier SO questionに由来します。SQL Serverでxp_cmdshellを使用することは一般的に悪い習慣ですか?
ファイルシステムに対して操作を実行する必要がある場合は、通常、それらの操作を処理してそのアプリケーションからSQL Serverを呼び出すアプリケーションを作成する方がよいでしょうか?どのような状況では、xp_cmdshellを使用して良いアイデアですか?
これはearlier SO questionに由来します。SQL Serverでxp_cmdshellを使用することは一般的に悪い習慣ですか?
ファイルシステムに対して操作を実行する必要がある場合は、通常、それらの操作を処理してそのアプリケーションからSQL Serverを呼び出すアプリケーションを作成する方がよいでしょうか?どのような状況では、xp_cmdshellを使用して良いアイデアですか?
これは単なる別のツールです。すべてのツールと同様に、フィットするときに使用します。何人かの人々は何らかの形で非常に強い意見を持っているかもしれませんが、終わりにはそれがあります。
SQL Server 2005では、特権で多少問題を緩和するsp_xp_cmdshell_proxy_accountが導入されたため、より便利になりました。
パウダーキーの質問を考えてみましょう。人々が銃を運ぶことを許すのは一般的に悪いですか(銃は危険な相関関係にあります)? キューの引数...
ソースコードにアクセスできないサードパーティのアプリケーションを扱う場合、SQL Serverは、アクセスを必要とするロジックを配置する唯一の、あるいは少なくとも最も便利な場所ですファイルシステム。別のアプリを作成することは、もう一つ心配することです。
セキュリティが問題になります。ユーザーに追加の権限を与えることができます。 http://msdn.microsoft.com/en-us/library/ms175046.aspx
機能はありますが、特に以前のバージョンのSQL Serverではセキュリティの問題があります。最悪の側面IMHOの1つは、すべての操作を行うために十分な権限を付与する管理者の傾向です。例えば。 xp_cmdshellを実行してネットワークにアクセスする場合は、SQL Server Domain Adminの所有者を許可するappXなどを使用してください。ユーザー権利を再訪する必要はありません。 – Karl