4

xp_cmdshellSQL Server で有効にしようとしています。だから私は走った:

EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE
EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE 

返されたメッセージには次のように記載されています。

構成オプション 'show advanced options' が 1 から 1 に変更されました。RECONFIGURE ステートメントを実行してインストールしてください。

構成オプション 'xp_cmdshell' が 0 から 1 に変更されました。RECONFIGURE ステートメントを実行してインストールしてください。

ファセットのプロパティは「XPCmdShellEnabled」を示しています

ただし、実行すると

EXEC master..xp_cmdshell 'dir c:'

エラーメッセージが表示されました

メッセージ 15281、レベル 16、状態 1、プロシージャ xp_cmdshell、行 1
SQL Server は、コンポーネント 'xp_cmdshell' のプロシージャ 'sys.xp_cmdshell' へのアクセスをブロックしました。このコンポーネントは、このサーバーのセキュリティ構成の一部としてオフになっているためです。システム管理者は、sp_configure を使用して「xp_cmdshell」の使用を有効にすることができます。「xp_cmdshell」を有効にする方法の詳細については、SQL Server Books Online の「Surface Area Configuration」を参照してください。

私がしたことは、Microsoftのドキュメントからのものです。うまくいかないのはなぜですか?

4

2 に答える 2

11

これを試してみましょう: 無効にしてから、再度有効にします。

--Disable
Use Master

GO
EXEC master.dbo.sp_configure 'xp_cmdshell', 0
RECONFIGURE WITH OVERRIDE

GO

EXEC master.dbo.sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO

-- Enable
Use Master
GO
EXEC master.dbo.sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO

EXEC master.dbo.sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
GO
于 2015-07-01T21:49:10.650 に答える
3

これは、次のように SQL Server Management Studio から実行できます。

  1. サーバーを右クリックして、Facets
  2. ファセットを選択Surface Area Configuration
  3. プロパティXPCmdShellEnabledを設定True

ここに画像の説明を入力

于 2016-11-15T07:00:13.093 に答える