spxpcmdshell开启与关闭xpcmdshell功能 -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

    sp_xp_cmdshell开启与关闭xp_cmdshell功能

    [sql]

    USE master

    GO

    IF OBJECT_ID('sp_xp_cmdshell', 'P') IS NOT NULL

    DROP PROC sp_xp_cmdshell

    GO

    CREATE PROCEDURE sp_xp_cmdshell @OnOff CHAR(3) ='ON'

    AS

    /*

    作者:陈恩辉-弘恩

    示例:

    exec sp_xp_cmdshell @OnOff = 'ON' --开启 xp_cmdshell功能

    exec sp_xp_cmdshell @OnOff = 'OFF' --关闭 xp_cmdshell功能

    */

    IF UPPER(@OnOff) NOT IN ( 'ON', 'OFF' )

    BEGIN

    SELECT '参数 @OnOff 只能是 ON,OFF ' AS return_result

    RETURN

    END

    IF UPPER(@OnOff) = 'ON'

    BEGIN

    -- 允许配置高级选项

    EXEC master.sys.sp_configure 'show advanced options', 1

    -- 重新配置

    RECONFIGURE

    -- 启用xp_cmdshell

    EXEC master.sys.sp_configure 'xp_cmdshell', 1

    --重新配置

    RECONFIGURE

    END

    ELSE

    BEGIN

    -- 关闭xp_cmdshell

    EXEC master.sys.sp_configure 'xp_cmdshell', 0

    --重新配置

    RECONFIGURE

    -- 关闭配置高级选项

    EXEC master.sys.sp_configure 'show advanced options', 0

    -- 重新配置

    RECONFIGURE

    END

    GO

    EXEC sp_MS_marksystemobject 'sp_xp_cmdshell'

    GO

最新文章