xp_cmdshell (サーバー構成オプション)
適用対象 SQL Server
この記事では、xp_cmdshell
SQL Server 構成オプションを有効にする方法について説明します。 システム管理者はこのオプションを使用して、xp_cmdshell 拡張ストアド プロシージャをシステムで実行できるかどうかを制御できます。 新規インストールの場合、xp_cmdshell
オプションは既定で無効になっています。
このオプションを有効にする前に、潜在的なセキュリティの影響を考慮することが重要です。
- 新しく開発されたコードでは、
xp_cmdshell
ストアド プロシージャを使用しないでください。通常は、無効のままにしておく必要があります。 - 一部のレガシ アプリケーションでは、
xp_cmdshell
を有効にする必要があります。 このストアド プロシージャを使用しないようにアプリケーションを変更できない場合は、以下の説明に従って有効にすることができます。
Note
xp_cmdshell
を使用する必要がある場合、セキュリティのベスト プラクティスとして、それを必要とする実際のタスクの期間だけそれを有効にすることをお勧めします。 xp_cmdshell
を使うと、セキュリティ監査ツールをトリガーできます。
xp_cmdshell
を有効にする必要がある場合は、ポリシーベースの管理を使用するか、次のコード例に示すように sp_configure
システム ストアド プロシージャを実行します。
-- To allow advanced options to be changed.
EXECUTE sp_configure 'show advanced options', 1;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO
-- To enable the feature.
EXECUTE sp_configure 'xp_cmdshell', 1;
GO
-- To update the currently configured value for this feature.
RECONFIGURE;
GO
-- To set "show advanced options" back to false
EXECUTE sp_configure 'show advanced options', 0;
GO
-- To update the currently configured value for advanced options.
RECONFIGURE;
GO