`

sql server使用xp_cmdshell动态创建文件夹

阅读更多

创建sql server存储过程动态创建文件夹,文件夹名根据创建时间决定

 

  1. create procedure sp_createdir  
  2.     @dir nvarchar(4000),  
  3. as  
  4. begin  
  5.     declare @cmd nvarchar(4000)  
  6.     declare @now datetime  
  7.     set @now = getdate()  
  8.     set @dir = @dir + '\' +replace(replace(replace(convert(varchar, @now, 120), '-',''), ' ', ''),':', '') 
  9.     set @cmd = 'mkdir ' + @dir 
  10.     exec sp_configure 'show advanced options', 1    --允许配置高级选项 
  11.     reconfigure --重新配置 
  12.     exec sp_configure 'xp_cmdshell', 1  --启用xp_cmdshell 
  13.     reconfigure --重新配置 
  14.     exec xp_cmdshell @cmd 
  15.  
  16.     exec sp_configure 'xp_cmdshell', 0  --执行完成后出于安全考虑可以将xp_cmdshell关闭  
  17. end  

xp_cmdshell语法

 

 

xp_cmdshell {'command_string'} [, no_output]

参数

'command_string'

是在操作系统命令行解释器上执行的命令字符串。command_string 的数据类型为 varchar(255) 或 nvarchar(4000),没有默认值。command_string 不能包含一对以上的双引号。如果由 command_string 引用的文件路径或程序名称中有空格,则需要使用一对引号。如果使用嵌入空格不方便,可考虑使用 FAT 8.3 文件名作为解决办法。

no_output

是可选参数,表示执行给定的 command_string,但不向客户端返回任何输出。

返回代码值

0(成功)或 1(失败)

结果集

执行下列 xp_cmdshell 语句将返回当前目录的目录列表。

xp_cmdshell 'dir *.exe'

行以 nvarchar(255) 列的形式返回。

执行下列 xp_cmdshell 语句将返回随后的结果集:

xp_cmdshell 'dir *.exe', NO_OUTPUT

 

由于没有了解xp_cmdshell的参数定义,将@cmd参数设置为nvarchar(max),导致执行时出现错误“过程需要类型为'varchar'的参数'command_string'”。需要将@cmd定义为长度小于或等于4000的nvarchar类型变量。

文章来源:http://www.itnose.net/detail/6023571.html
更多文章:http://www.itnose.net/type/96.html

分享到:
评论

相关推荐

    SQL Server如何启用xp_cmdshell组件1

    在SQL Server中,`xp_cmdshell`是一个非常强大的系统存储过程,它允许数据库管理员执行操作系统级别的命令,并将结果返回到SQL Server环境中。然而,出于安全考虑,`xp_cmdshell`默认是禁用的,因为不恰当的使用可能...

    SQL Server阻止了对组件xp_cmdshell过程的解决方案.docx

    总的来说,理解和正确使用`xp_cmdshell`是SQL Server管理中的一个重要环节,尤其是在处理跨系统边界的任务时。但始终要牢记,安全永远是首要考虑的因素。在启用和使用`xp_cmdshell`时,务必谨慎行事。

    MS SQL入侵(小心 xp_cmdshell)

    `xp_cmdshell`是MS SQL Server中一个预编译的扩展存储过程,它允许SQL Server通过命令行执行操作系统级别的命令。这一功能本身设计用于方便数据库管理员执行一些维护任务,例如备份文件、清理日志等。但是,如果...

    SQL阻止组件xp_cmdshell过程解决方案

     SQLServer阻止了对组件'xp_cmdshell'的过程'sys.xp_cmdshell'的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用sp_configure启用'xp_cmdshell'。有关启用'xp_cmdshell'的详细...

    XP_CMDSSQLSERVER扩展存储过程XP_CMDSHELL的简单应用

    XP_CMDSHELL存储过程是执行本机的CMD命令,要求系统登陆有SA权限,也就是说如果获得SQLSERVER的SA命令,那就可以在目标机为所欲为了,知名软件“流光”使用的应该也是这个存储过程来实现在目标机上的操作。

    sys.xp_cmdshell的使用方法,用处以及注意的几点

    然而,这里我们要讨论的是SQL Server中的一个特定功能,即`sys.xp_cmdshell`存储过程的使用方法、用途以及需要注意的要点。 `sys.xp_cmdshell`是SQL Server中的一个扩展存储过程,允许数据库管理员在服务器上执行...

    SQL Server 异地备份到远程共享文件夹异常处理

    1、解锁 SQL SERVER “xp_cmdshell”命令 打开SQL SERVER 新建查询窗口 -- 允许配置高级选项 EXEC sp_configure 'show advanced options', 1 GO -- 重新配置 RECONFIGURE GO -- 启用xp_cmdshell EXEC sp_configure '...

    xp_cmdshell开启与关闭

    xp_cmdshell的主要功能是将SQL Server与操作系统集成,允许管理员执行操作系统命令,如copy、move、del、mkdir等等。这样,管理员可以在SQL Server中执行操作系统命令,而不需要离开SQL Server环境。 xp_cmdshell的...

    mssql数据库提权之——xp_cmdshell执行系统命令

    2、 必须可以以某种方式执行sql语句,例如:webshell或者是1433端口的连接。 提权基本思路过程与原理 1.MSSQL在Windows server类的操作系统上,默认具有system权限。System权限在Windows server2003中权限仅比管理员...

    sql server2008异地备份方法

    7. 关闭 xp_cmdshell,使用 EXEC sp_configure 'xp_cmdshell', 0。 作业计划 在作业计划中,选择相应的计划类型、开始时间、间隔时间等。 注意 在执行作业时,可能会遇到错误,例如无法获取 Windows NT 组/...

    sql2005开启xp_cmdshell

    EXEC sp_configure ‘xp_cmdshell’, 1;RECONFIGURE;– 然后;dbcc addextendedproc(“xp_cmdshell”,”xplog70.dll”);– 或者 sp_addextendedproc xp_cmdshell,@dllname=’xplog70.dll’ 来恢复cm

    使用xp_cmdshell注销Windows登录用户(终端服务器超出最大连接数)

    解决这个问题的一种方法是通过SQL Server中的`xp_cmdshell`扩展存储过程来注销Windows登录用户。 `xp_cmdshell`是SQL Server提供的一种高级功能,它允许管理员执行操作系统级别的命令。使用`xp_cmdshell`,我们可以...

    sa权限下无xp_cmdshell下取权限又一简单方法.txt

    在SQL Server环境中,当拥有最高权限(sa)但无法使用扩展存储过程`xp_cmdshell`时,可以通过其他技术实现对系统权限的获取或文件操作等功能。本文将详细介绍一种利用`sp_oacreate`和`sp_oamethod`存储过程来创建、...

    sql 文件操作大全

    根据给定的文件信息,我们将深入探讨SQL Server中与文件操作相关的高级知识点,特别是通过扩展存储过程`xp_cmdshell`来执行系统级别的命令。`xp_cmdshell`是SQL Server的一个功能强大但潜在风险较高的特性,它允许在...

    使用SQL Server判断文件是否存在后再删除(详解)

    总结来说,通过`xp_fileexist`和`xp_cmdshell`这两个扩展存储过程,我们可以方便地在SQL Server中实现文件存在的判断以及后续的删除操作。但务必谨慎使用这些功能,因为它们可能涉及系统安全,尤其是当涉及删除操作...

    cn_sql_server_2014_enterprise_edition_x64_dvd_3932882.iso

    cn_sql_server_2014_enterprise_edition_x64_dvd_3932882.iso,数据库安装镜像

    SQL SERVER 判断当前系统是否为64位操作系统

    1. **SQL Server 版本**:当前使用的SQL Server版本支持`xp_cmdshell`。 2. **启用xp_cmdshell**:默认情况下,`xp_cmdshell`是被禁用的,为了安全起见,SQL Server不会自动启用它。因此,在执行此脚本之前,需要先...

    sql cmd入侵修复资料

    在进行SQL Server数据库管理过程中,有时会遇到“未能找到存储过程 'master..xp_cmdshell'”的错误信息。这个错误通常出现在尝试调用扩展存储过程`xp_cmdshell`时,而该存储过程并未在系统中正确注册或配置。 #### ...

    SQL-IMP-EXP.rar_BCP_EXP SQL_SQL imp_imp导入sql文件_out

    EXEC master..xp_cmdshell bcp dbname..tablename in c:\DT.txt -c -Sservername -Usa -Ppassword /** 导出文本文件 EXEC master..xp_cmdshell bcp dbname..tablename out c:\DT.txt -c -Sservername -Usa -P...

Global site tag (gtag.js) - Google Analytics