[sql server]SQL中xp_cmdshell开启和关闭详解

时间:2018-12-02  来源:php与数据库  阅读:

xp_cmdshell

--SQL Server 2005 中引入的 xp_cmdshell 选项是服务器配置选项,使系统管理员能够控制是否可以在系统上执行 xp_cmdshell 扩展存储过程。默认情况下,xp_cmdshell 选项在新安装的软件上处于禁用状态,但是可以通过使用外围应用配置器工具或运行 sp_configure 系统存储过程来启用它,如下面的代码示例所示:

 代码如下

 -- To allow advanced options to be changed.
--允许高级选项将被改变
EXEC sp_configure "show advanced options", 1
GO
-- To update the currently configured value for advanced options.
--更新当前配置的值为高级选项
RECONFIGURE
GO
-- To enable the feature.
--启用这个特性
EXEC sp_configure "xp_cmdshell", 1
GO
-- To update the currently configured value for this feature.
--更新当前配置的值为这个特性。
RECONFIGURE
GO


另一种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  

[sql server]SQL中xp_cmdshell开启和关闭详解

http://m.bbyears.com/jiaocheng/46244.html

推荐访问:sql语句 sql数据库
相关阅读 猜你喜欢
本类排行 本类最新