更改 SQL Server 备份的日期格式

问题描述 投票:0回答:1

我正在尝试创建一个 SQL 脚本,它将备份 SQL Server 数据库并将日期/时间戳添加到备份名称中。

当我运行脚本时,它以错误的格式添加日期,我不知道如何纠正它。当我想像“01-09-2023-09:00:00”那样添加它时,它添加的日期显示“01 Sept 2023 09:00:00

DECLARE @filename varchar(500)
DECLARE @db1 varchar(500)
DECLARE @url varchar(500)
DECLARE @date nvarchar(256)

SET @date = REPLACE(CONVERT(nvarchar(256),GetDate(), 113),':','-');

SELECT @url = 'https://storageaccountname.blob.core.windows.net/sql-migration-data/db1/'
SELECT @date
SELECT @db1 = 'db1_diff_'

SET @filename = @url + @db1 + @date + '.bak'

BACKUP DATABASE [db1] TO  URL = @filename WITH  DIFFERENTIAL , NOFORMAT, NOINIT,  NAME = N'db1-Differential Database Backup', NOSKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO
sql-server tsql
1个回答
0
投票

您想要创建一个 SQL Server 备份脚本,以“dd-mm-yyyy-hh:mi:ss”格式向备份文件名添加日期和时间戳。您当前的脚本正在生成不同的日期格式。要实现所需的格式,您可以使用样式 120 的 CONVERT 函数正确格式化日期,然后在结果字符串中用连字符替换空格和冒号。

SET @date = REPLACE(REPLACE(CONVERT(nvarchar(256), GetDate(), 120), ' ', '-'), ':', '-');
© www.soinside.com 2019 - 2024. All rights reserved.