サーバー構成: 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 システム ストアド プロシージャを実行します。

USE master;
GO

EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'xp_cmdshell', 1;
GO

RECONFIGURE;
GO

EXECUTE sp_configure 'show advanced options', 0;
GO

RECONFIGURE;
GO