Sql 将日期和时间作为后缀添加到备份文件中

Sql 将日期和时间作为后缀添加到备份文件中,sql,sql-server,Sql,Sql Server,我在MSSQL Server Management Studio中创建了一个备份作业,并定期运行备份脚本。我还想按以下格式添加日期和时间: 2020.10.16_18.00.00 我尝试了一些方法,但我想我必须使用特殊的格式。我如何在不使用SP等的情况下,仅使用日期-时间方法获取上述日期 我试过了,但没有给出我想要的格式 select convert(varchar, getdate(), 120) 您可以使用格式自定义输出: SELECT FORMAT(GETDATE(), 'yyyy.M

我在MSSQL Server Management Studio中创建了一个备份作业,并定期运行备份脚本。我还想按以下格式添加日期和时间:

2020.10.16_18.00.00

我尝试了一些方法,但我想我必须使用特殊的格式。我如何在不使用SP等的情况下,仅使用日期-时间方法获取上述日期

我试过了,但没有给出我想要的格式

select convert(varchar, getdate(), 120) 

您可以使用
格式
自定义输出:

SELECT FORMAT(GETDATE(), 'yyyy.MM.dd_hh.mm.ss')
否则,您可以使用
REPLACE
操作输出:

SELECT REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120), '-', '.'), ':', '.'), ' ', '_')
这将允许您将路径定义为变量:

DECLARE @Path NVARCHAR(500) = N'D:\backup\CurrencyExchange' + FORMAT(GETDATE(), 'yyyy.MM.dd_hh.mm') + '.log'
BACKUP LOG [CurrencyExchange] TO DISK = @Path

“添加”是什么意思?是否添加到文件名?是否添加到d/b中的数据?是否添加到日志文件?是,添加到文件名。忘了它吧,只关注我提供的格式。把它添加到备份脚本中怎么样?我试着那样做,但没有成功。我应该声明为变量吗?怎么做
BACKUP LOG[CurrencyExchange]TO DISK=N'D:\BACKUP\CurrencyExchange'+选择格式(GETDATE(),'yyyy.MM.dd_hh.MM')+'.LOG'GO
。您可以删除
SELECT
,这应该可以正常工作,但不工作,是否有特殊约定?你能检查一下吗?也许我需要转换成字符串?我也试过像备份日志[CurrencyExchange]到磁盘=N'D:\BACKUP\CurrencyExchange'+选择转换(VARCHAR,FORMAT(GETDATE(),'yyyy.MM.dd_hh.MM'))+'.bak',但仍然不起作用。