我需要使用数据库备份数据库名称
问题描述:
我需要每天进行数据库备份并将日期添加到数据库名称 - 例如:Navigate_2017-10-20.bak
。我需要使用数据库备份数据库名称
如何在数据库名称和日期中使用动态查询?
DECLARE @Date DATE = GETDATE()
SELECT @Date
BACKUP DATABASE [Navigate]
TO DISK = N'D:\Working\Navigate_'+ @Date +'.bak'
WITH NOFORMAT, NOINIT,
NAME = N'Navigate-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
答
转换日期为字符串,并创建事前的文件名:
DECLARE @Filename NVARCHAR(MAX);
SELECT @FILENAME = N'D:\Working\Navigate_'+ CONVERT(char(10), GetDate(),126) +'.bak';
BACKUP DATABASE [Navigate]
TO DISK = @FILENAME WITH NOFORMAT, NOINIT,
NAME = N'Navigate-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10;
GO
答
DECLARE @Date DATE = GETDATE()
SELECT @Date
BACKUP DATABASE [Navigate]
TO DISK = N'D:\Working\Navigate_'+ CONVERT(NVARCHAR(20),@Date,105) +'.bak' WITH NOFORMAT, NOINIT,
NAME = N'Navigate-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
GO
答
使用本
DECLARE @Date NVARCHAR(20) = CONVERT(NVARCHAR(20),GETDATE(),105)
SELECT @Date
BACKUP DATABASE [Navigate]
TO DISK = N'D:\Working\Navigate_'+ @Date +'.bak' WITH NOFORMAT, NOINIT,
NAME = N'Navigate-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
是日期是datetime列,如果是的话,你需要将其转换成VARCHAR –