ファイル名に曜日名を入れてバックアップ [Database]
データベースTESTを、C:\MSSQLBackup\に保存する例。
DECLARE @fn nvarchar(256)
DECLARE @week int
DECLARE @weekdayName nvarchar(3)
--SET DATEFIRST 7 --規定値
SET @week = DATEPART (weekday, GETDATE())
IF @week = 1
BEGIN
SET @weekdayName = 'SUN'
END
ELSE IF @week = 2
BEGIN
SET @weekdayName = 'MON'
END
ELSE IF @week = 3
BEGIN
SET @weekdayName = 'TUE'
END
ELSE IF @week = 4
BEGIN
SET @weekdayName = 'WED'
END
ELSE IF @week = 5
BEGIN
SET @weekdayName = 'THU'
END
ELSE IF @week = 6
BEGIN
SET @weekdayName = 'FRI'
END
ELSE IF @week = 7
BEGIN
SET @weekdayName = 'SAT'
END
SET @fn = N'C:\MSSQLBackup\TEST_' + @weekdayName + N'.DB'
BACKUP DATABASE [TEST] TO DISK = @fn WITH INIT, NOUNLOAD, NAME = N'TESTデータベース バックアップ', NOSKIP, STATS = 10, NOFORMAT
ファイル名に日本語が入ってもいいのならDATENAME関数ですっきり。
DECLARE @fn nvarchar(256)
SET @fn = N'C:\MSSQLBackup\TEST_' + DATENAME(weekday,GETDATE()) + N'.DB'
BACKUP DATABASE [TEST] TO DISK = @fn WITH INIT, NOUNLOAD, NAME = N'TESTデータベース バックアップ', NOSKIP, STATS = 10, NOFORMAT
DECLARE @fn nvarchar(256)
DECLARE @week int
DECLARE @weekdayName nvarchar(3)
--SET DATEFIRST 7 --規定値
SET @week = DATEPART (weekday, GETDATE())
IF @week = 1
BEGIN
SET @weekdayName = 'SUN'
END
ELSE IF @week = 2
BEGIN
SET @weekdayName = 'MON'
END
ELSE IF @week = 3
BEGIN
SET @weekdayName = 'TUE'
END
ELSE IF @week = 4
BEGIN
SET @weekdayName = 'WED'
END
ELSE IF @week = 5
BEGIN
SET @weekdayName = 'THU'
END
ELSE IF @week = 6
BEGIN
SET @weekdayName = 'FRI'
END
ELSE IF @week = 7
BEGIN
SET @weekdayName = 'SAT'
END
SET @fn = N'C:\MSSQLBackup\TEST_' + @weekdayName + N'.DB'
BACKUP DATABASE [TEST] TO DISK = @fn WITH INIT, NOUNLOAD, NAME = N'TESTデータベース バックアップ', NOSKIP, STATS = 10, NOFORMAT
ファイル名に日本語が入ってもいいのならDATENAME関数ですっきり。
DECLARE @fn nvarchar(256)
SET @fn = N'C:\MSSQLBackup\TEST_' + DATENAME(weekday,GETDATE()) + N'.DB'
BACKUP DATABASE [TEST] TO DISK = @fn WITH INIT, NOUNLOAD, NAME = N'TESTデータベース バックアップ', NOSKIP, STATS = 10, NOFORMAT
コメント 0