将日期插入sql脚本

时间:2010-07-14 16:24:36

标签: sql sql-server shell backup

我在脚本中执行这样的sql server备份:

BACKUP DATABASE databasename TO DISK = `path'

由于此备份将自动化,如何将今天的日期插入'path'

2 个答案:

答案 0 :(得分:2)

你可以用yyyymmdd这样的格式获取今天的日期

convert(varchar(8),getdate(),112)

示例,将print更改为exec

declare @date varchar(8)
select @date = convert(varchar(8),getdate(),112)

--change print to exec
print ('BACKUP DATABASE databasename TO DISK = ''path' + @date + '''')

将生成此声明

BACKUP DATABASE databasename TO DISK ='path20100714'

您可能还想添加像BAK

这样的扩展程序

同时查看INITNOINITINIT会覆盖备份(如果该备份已存在,并附加该名称NOINIT,另请参阅:http://msdn.microsoft.com/en-us/library/ms186865.aspx

答案 1 :(得分:2)

declare @path varchar(255), @mydb varchar(50)
SELECT @mydb = 'MyDBToBackUp'
select @path = 'C:\foo\bar\' + @mydb + '-' + convert(varchar(8),getdate(),112) + '.bak'
BACKUP DATABASE @mydb TO @path

BACKUP DATABASE采用局部变量

编辑:最后一行应该是这样的:哎呀。遗憾。

 BACKUP DATABASE @mydb TO DISK =  @path