小编Haa*_*ans的帖子

将变量传递给xp_cmdshell

我在SQL Server中有一个存储过程,用于检查今天的备份文件(文件名中包含日期的文件).检查后,它将继续将robocopy这些文件转移到另一个文件夹.

挑战:在此文件夹中,可能存在昨天或其他日期的文件.但只有今天的bak文件才需要转移.

--@day allows me to capture the day of a month
declare @day char(2)
set @day = RIGHT('00' + CONVERT(NVARCHAR(2),DATEPART(DAY,GETDATE())),2)
--print @day

--In "MyFolder", it might containts files like 
--Project_backupfile_01_2006_02_28_001.bak
--OR Project_backupfile_01_2006_02_27_001.bak

--Currently I need to hard code 28 to represent 28th. How to pass in @day?
EXEC master..xp_cmdshell 'dir d:\myfolder\Project*28*.bak/b'

--Similarly, I would like to pass in @day variable so that the --Project_backupfile*02_*@day.bak

-- Copy the backup fules from ftp to a local drive
EXEC …
Run Code Online (Sandbox Code Playgroud)

sql-server variables xp-cmdshell

2
推荐指数
1
解决办法
4595
查看次数

标签 统计

sql-server ×1

variables ×1

xp-cmdshell ×1