SQL Serverインスタンスのsysadminロールのメンバーではないユーザーの場合、xp_cmdshell拡張ストアドプロシージャへのアクセスを許可するには、次のアクションを実行する必要があります。さらに、手順の1つを忘れた場合は、スローされるエラーをリストしました。
-
xp_cmdshellプロシージャを有効にします
メッセージ15281、レベル16、状態1、プロシージャxp_cmdshell、行1SQLサーバーは、このサーバーのセキュリティ構成の一部としてこのコンポーネントがオフになっているため、コンポーネント「xp_cmdshell」のプロシージャ「sys.xp_cmdshell」へのアクセスをブロックしました。システム管理者は、sp_configureを使用して「xp_cmdshell」の使用を有効にできます。 'xp_cmdshell'を有効にする方法の詳細については、SQL ServerBooksOnlineの「SurfaceAreaConfiguration」を参照してください。*
-
マスターデータベースへのパブリックアクセス権を持つ非システム管理者ユーザーのログインを作成します
メッセージ229、レベル14、状態5、プロシージャxp_cmdshell、1行目オブジェクト'xp_cmdshell'、データベース'mssqlsystemresource'、スキーマ'sys'に対するEXECUTE権限が拒否されました。*
-
xp_cmdshellストアドプロシージャにEXEC権限を付与する
メッセージ229、レベル14、状態5、プロシージャxp_cmdshell、1行目オブジェクト'xp_cmdshell'、データベース'mssqlsystemresource'、スキーマ'sys'に対するEXECUTE権限が拒否されました。*
-
sp_xp_cmdshell_proxy_accountを使用してxp_cmdshellが実行されるプロキシアカウントを作成します
メッセージ15153、レベル16、状態1、プロシージャxp_cmdshell、行1 xp_cmdshellプロキシアカウント情報を取得できないか、無効です。 '## xp_cmdshell_proxy_account ##'クレデンシャルが存在し、有効な情報が含まれていることを確認してください。*
あなたのエラーから、ステップ2または3のいずれかが見落とされたように思われます。その設定に特別なものがあるかどうかを知るために、クラスターに精通していません。