sql server中使用xp_cmdshell

复制代码
关键词:sql server开启高级配置,使用Bat,cmdshell


1
、sql server中使用xp_cmdshell --允许配置高级选项 EXEC sp_configure 'show advanced options',1 GO RECONFIGURE GO 2--开启xp_cmdshell服务 EXEC sp_configure 'xp_cmdshell',1 RECONFIGURE GO 3--使用 xp_cmdshell master..xp_cmdshell 'copy e:\databasebackup\test.bakm:' 4-- 允许配置高级选项 EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO -- 禁用xp_cmdshell EXEC sp_configure 'xp_cmdshell', 0 GO RECONFIGURE GO
复制代码

 

 

sql server中,调用批处理

复制代码
CREATE PROCEDURE [dbo].[Delete_File]  
@day NVARCHAR(3),  
@url NVARCHAR(100)  
AS  
BEGIN  
 DECLARE @sql NVARCHAR(MAX),@result INT  
 EXEC xp_fileexist 'C:\DEL.bat', @result OUTPUT --检查文件DEL.bat存在  
 IF @result=1  
  EXEC xp_cmdshell 'del C:\DEL.bat'   
 IF object_id('test','U')IS NOT NULL   --检查test表是否存在  
  DROP TABLE test  
    
 SET @sql='@echo off  
 setlocal enabledelayedexpansion  
 Rem 取'+@day+'天之前的日期,取回放入变量riqi  
 echo wscript.echo dateadd("d",-'+@day+',date) >%tmp%\tmp.vbs  
 for /f "tokens=1,2,3* delims=-" %%i in (''cscript /nologo %tmp%\tmp.vbs'') do set y=%%i&set m=%%j&set d=%%k  
 if %m% LSS 10 set m=0%m%  
 if %d% LSS 10 set d=0%d%  
 set riqi=%y%%m%%d%  
 set "mulu='+@url+'"  
 for /f "eol= skip=4 tokens=1,4" %%a in (''dir /a-d /tw "%mulu%"^|find /v ^"字节^"'') do (  
 set delrq=%%a  
 set delrq=!delrq:-=!  
 if !delrq! lss %riqi% (  
 del /q "%mulu%\%%~nxb"  
 )  
 )  
 pause'  
 select @sql a INTO test --将批处理脚本放入test表  
 EXEC xp_cmdshell 'bcp "select top 1 a from test" queryout C:\DEL.bat -c -T -S127.0.0.1,2433' --将批处理文件导出到C盘根目录下  
 DROP TABLE test --删除test表  
 EXEC xp_cmdshell 'C:\DEL.bat'--调用批处理文件  
END  
  
复制代码

 

posted @   郭大侠1  阅读(1280)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示