我正在尝试创建一个 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 备份脚本,以“dd-mm-yyyy-hh:mi:ss”格式向备份文件名添加日期和时间戳。您当前的脚本正在生成不同的日期格式。要实现所需的格式,您可以使用样式 120 的 CONVERT 函数正确格式化日期,然后在结果字符串中用连字符替换空格和冒号。
SET @date = REPLACE(REPLACE(CONVERT(nvarchar(256), GetDate(), 120), ' ', '-'), ':', '-');