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

次のステップ