我需要每天进行数据库备份并将日期添加到数据库名称中 - 如下所示: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
答案 0 :(得分:2)
将Date转换为字符串并预先创建文件名:
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
答案 1 :(得分:0)
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
答案 2 :(得分:0)
使用此
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