SQL中xp_cmdshell开启和关闭详解

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  
时间: 2024-12-27 06:43:35

SQL中xp_cmdshell开启和关闭详解的相关文章

SQL中case when的用法详解

Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 1.语法 CASE input_expression_r WHEN when_expression_r THEN result_expression_r [ ...n ] [ ELSE else_result_expression_r ] END 2.实例   CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END Case搜索函数 1.语法 CASE WH

CentOs中Apache开启rewrite模块详解

centos的配置文件放在: /etc/httpd/conf/httpd.conf 打开文件找到:  代码如下 复制代码 LoadModule rewrite_module modules/mod_rewrite.so 将前面"#"去掉,如果不存在则添加上句. 如果你的网站是根目录的话:找到  代码如下 复制代码 <Directory />   Options FollowSymLinks   AllowOverride None  </Directory> 将

SQL中ROW_NUMBER() 排序函数使用详解

以前写过一篇文章排序提到过ROW_NUMBER()函数,但是很多同学是第一次见到,根本不知道这个函数的详细用法. MK在这里贴出来详细说明供大家参考: Mssql取得第10到第20条的不连续记录的三种方法 1.使用row_number()函数进行编号:如 SELECT email,customerID, ROW_NUMBER() OVER(ORDER BY psd) AS ROWS FROM QT_Customer 原理:先按psd进行排序,排序完后,给每条数据进行编号. 2.在订单中按价格的升

Java开发中的23种设计模式详解(转)

Java开发中的23种设计模式详解(转) 设计模式(Design Patterns)                                   --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合

4.0中的并行计算和多线程详解(二)

相关文章:4.0中的 并行计算和多线程详解(一) 多线程部分 多线程在4.0中被简化了很多,仅仅只需要用到System.Threading.Tasks.::.Task类,下面就来详细介绍下Task类的使用. 一.简单使用 开启一个线程,执行循环方法,返回结果.开始线程为Start(),等待线程结束为Wait(). Code         /// <summary>         /// Task简单使用         /// </summary>         privat

OraclePL/SQL单行函数和组函数详解_oracle

正在看的ORACLE教程是:OraclePL/SQL单行函数和组函数详解. 1 函数是一种有零个或多个参数并且有一个返回值的程序.在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:  2  3 单行函数  4  5 组函数   6  7 本文将讨论如何利用单行函数以及使用规则.  8  9 SQL中的单行函数 10 11 SQL和PL/SQL中自带很多类型的函数,有字符.数字.日期.转换.和混合型等多种函数用于处理单行数据,因此这些都可被统称

PHP 5.6.11 访问SQL Server2008R2的几种情况详解_php实例

PHP天生支持MySQL,但是有时候也想让它访问SQL Server,该怎么办呢? 最近找了点资料,测试成功了PHP访问SQLSvr的几种情况,限于时间,还没有测试更多不同环境,把测试过的记录如下: 测试环境:win7 x64 sp1,IIS 7.5, Apache 2.4 32位版本,PHP 5.2.6 win32, PHP 5.6.11 win32 ts(线程安全版) 注:由于"Microsoft Drivers for PHP for SQL Server"驱动程序目前只有32位

mysql5.7.10开启慢查询详解_Mysql

如下所示: #在/etc/my.cnf中的[mysqld]中加入如下代码: slow-query-log=On slow_query_log_file=/data/mysql/log/mysql_slow_query.log long_query_time=2 log_queries_not_using_indexes = ON 第一句是开启慢查询 第二句是用来定义慢查询日志的路径 第三句是用来定义查过多少秒的查询算是慢查询,我这里定义的是2秒 第四句就是记录下没有使用索引的query 以上这篇

jQueryUI中的datepicker使用方法详解_jquery

jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等. 之前做的一个排班考勤系统,跟时间打交道较多,对时间控件做过一些对比,觉得jqueryUI里的这个datepicker更为实用,下面抽点时间给大家整理,方便以后查阅,同时也希望能帮助到大家! 1,引入js,css <link rel="stylesheet" href="http://code.