我正在使用以下來從SQL作業備份數據庫。有人能告訴我如何將當前日期添加到輸出文件名?最好採用YYYYMMDD格式。將日期添加到SQL數據庫備份文件名
BACKUP DATABASE [myDB] TO DISK = N'\\myPath\myDB.bak' WITH NOFORMAT, INIT, NAME = N'myDB', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
謝謝!
我正在使用以下來從SQL作業備份數據庫。有人能告訴我如何將當前日期添加到輸出文件名?最好採用YYYYMMDD格式。將日期添加到SQL數據庫備份文件名
BACKUP DATABASE [myDB] TO DISK = N'\\myPath\myDB.bak' WITH NOFORMAT, INIT, NAME = N'myDB', SKIP, REWIND, NOUNLOAD, STATS = 10
GO
謝謝!
DECLARE @MyFileName varchar(1000)
SELECT @MyFileName = (SELECT '\\ServerToSave\Path\MyDB_' + convert(varchar(500),GetDate(),112) + '.bak')
BACKUP DATABASE [myDB] TO [email protected] ...
試試這個。
DECLARE @MyFileName varchar(50)
SELECT '\\ServerToSave\Path\MyDB_' + convert(nvarchar(20),GetDate(),112) + '.bak'
BACKUP DATABASE [myDB] TO [email protected] ...
的112轉換給你YYYYMMDD格式
使用以下
DECLARE @BackupFileName varchar(20)
SELECT @BackupFileName = '\\ServerName\SharedFolder\DatabaseName_' + CONVERT (VarChar, GetDate(), 112) + '.bak'
BACKUP DATABASE [myDB] TO DISK = @BackupFileName WITH NOFORMAT, INIT, NAME = N'myDB', SKIP, REWIND, NOUNLOAD, STATS = 10
對鑄造閱讀起來,如果你想包括日期在這裏轉換http://msdn.microsoft.com/en-us/library/ms187928.aspx
和時間,所以你可以使用:
DECLARE @MyFileName varchar(200)
SELECT @MyFileName='\\ServerToSave\Path\MyDB_' + REPLACE(convert(nvarchar(20),GetDate(),120),':','-') + '.bak'
BACKUP DATABASE [myDB] TO [email protected] ...
的120在轉換給你YYYY-MM-DD HH:MI:SS(24小時)
替換功能是necesary因爲文件名不能具有字符:
DECLARE @var nvarchar(max) ='C:\Projects\myDatabase ' +replace(rtrim(convert(char,getdate())), ':',',')+'.bak';
BACKUP DATABASE myDatabase TO DISK = @var
輸出:
C:\項目\ MYDATABASE 2015年6月3日6,33AM.bak
也許你想使用Windows任務,只是將代碼放在一個bat文件,並添加到您的Windows任務:
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "fullstamp=%YYYY%%MM%%DD%-%HH%%Min%%Sec%"
set bkfile=dbname%fullstamp%.bak
set path_sqlcmd="C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\SQLCMD.exe"
%path_sqlcmd% -S .\SQLEXPRESS -E -Q "BACKUP DATABASE seteo TO DISK='D:\bk-sqlserver\%bkfile%' WITH FORMAT"
這是一個有點長,但我認爲這是一個可行的解決方案,如果你需要備份SQL Server 2005或過時的歌曲版本,只是改變由OSQL SQLCMD 。
代碼不起作用 – 2010-03-09 16:47:23
現在,您的代碼已經編輯完畢。感謝編輯我的答案,謝謝你刪除我被授予的觀點。 – CResults 2010-03-09 16:52:32
這使得一些有趣的閱讀,謝謝你。 – Shawson 2011-11-14 14:20:52