sql >> データベース >  >> RDS >> Sqlserver

xp_cmdshellへの実行権限の取得

    SQL Serverインスタンスのsysadminロールのメンバーではないユーザーの場合、xp_cmdshell拡張ストアドプロシージャへのアクセスを許可するには、次のアクションを実行する必要があります。さらに、手順の1つを忘れた場合は、スローされるエラーをリストしました。

    1. xp_cmdshellプロシージャを有効にします

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

    2. マスターデータベースへのパブリックアクセス権を持つ非システム管理者ユーザーのログインを作成します

      メッセージ229、レベル14、状態5、プロシージャxp_cmdshell、1行目オブジェクト'xp_cmdshell'、データベース'mssqlsystemresource'、スキーマ'sys'に対するEXECUTE権限が拒否されました。*

    3. xp_cmdshellストアドプロシージャにEXEC権限を付与する

      メッセージ229、レベル14、状態5、プロシージャxp_cmdshell、1行目オブジェクト'xp_cmdshell'、データベース'mssqlsystemresource'、スキーマ'sys'に対するEXECUTE権限が拒否されました。*

    4. sp_xp_cmdshell_proxy_accountを使用してxp_cmdshellが実行されるプロキシアカウントを作成します

      メッセージ15153、レベル16、状態1、プロシージャxp_cmdshell、行1 xp_cmdshellプロキシアカウント情報を取得できないか、無効です。 '## xp_cmdshell_proxy_account ##'クレデンシャルが存在し、有効な情報が含まれていることを確認してください。*

    あなたのエラーから、ステップ2または3のいずれかが見落とされたように思われます。その設定に特別なものがあるかどうかを知るために、クラスターに精通していません。



    1. MySQLテーブルの主キーをプレフィックス付きで自動インクリメントする方法

    2. Fedora13でMySQLリレーショナルデータベースを使用する

    3. OracleSQLピボットクエリ

    4. Ubuntu16.04でのMariaDB10.0から10.3.9へのアップグレード