我正在使用以下方法从SQL作业备份数据库.有人能告诉我如何将当前日期添加到输出文件名吗?最好是YYYYMMDD格式.
BACKUP DATABASE [myDB] TO DISK = N'\\myPath\myDB.bak' WITH NOFORMAT, INIT, NAME = N'myDB', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
Run Code Online (Sandbox Code Playgroud)
谢谢!
Jon*_*onH 46
DECLARE @MyFileName varchar(1000)
SELECT @MyFileName = (SELECT '\\ServerToSave\Path\MyDB_' + convert(varchar(500),GetDate(),112) + '.bak')
BACKUP DATABASE [myDB] TO DISK=@MyFileName ...
Run Code Online (Sandbox Code Playgroud)
Jua*_*lez 18
如果要包含日期和时间,那么您可以使用:
DECLARE @MyFileName varchar(200)
SELECT @MyFileName='\\ServerToSave\Path\MyDB_' + REPLACE(convert(nvarchar(20),GetDate(),120),':','-') + '.bak'
BACKUP DATABASE [myDB] TO DISK=@MyFileName ...
Run Code Online (Sandbox Code Playgroud)
120中Convert给你yyyy-mm-dd hh:mi:ss(24h)
该REPLACE函数是必需的,因为文件名不能包含该:字符.
试试这个.
DECLARE @MyFileName varchar(50)
SELECT '\\ServerToSave\Path\MyDB_' + convert(nvarchar(20),GetDate(),112) + '.bak'
BACKUP DATABASE [myDB] TO DISK=@MyFileName ...
Run Code Online (Sandbox Code Playgroud)
Convert中的112为您提供YYYYMMDD格式