动态备份文件名

时间:2012-10-31 07:33:40

标签: sql-server sql-server-2008 sql-server-2008-r2

我使用SQL Server 2008 R2并希望每天使用Backup Devices创建我的数据库备份。如何在“备份设备”中创建动态文件名。

在下面的代码中我创建了一个备份设备,但希望在我的备份文件中有当前日期(YYYY-MM-DD)。

EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', @logicalname = N'My Database Backup Location', @physicalname = N'D:\Backup\Backup YYYY-MM-DD.bak'

提前致谢

2 个答案:

答案 0 :(得分:4)

试试这个

DECLARE @fn nvarchar(200)
SET @fn=N'D:\Backup\Backup'+CONVERT(VARCHAR(8), GETDATE(), 112) +'.bak'



EXEC master.dbo.sp_addumpdevice  @devtype = N'disk', 
                @logicalname = N'My Database Backup Location',
                @physicalname = @fn

答案 1 :(得分:0)

您可以使用中间变量,存储附加DD-MM-YYYY的文件名。并在EXEC语句中使用此中间变量。

请参阅以下链接: Using the result of an expression (e.g. Function call) in a stored procedure parameter list?