0

SQL Server 2008 でのエージェントのジョブ用の私のコードは、バックアップ ファイルを生成しますが、エージェントのジョブがトリガーされるたびに最初の bak ファイルを上書きします !!?

時間関連の別の名前でバックアップを作成するにはどうすればよいですか

例: testDB201313328.bak と 1 分後に次の名前のファイルを作成: testDB201313329.bak

代わりに最初のものを上書きします

USE msdb ;
GO

DECLARE @fileName VARCHAR(90);

DECLARE @db_name VARCHAR(20);

DECLARE @fileDate VARCHAR(20);

DECLARE @commandtxt VARCHAR(100);


SET @fileName = 'C:\Test_Backups\'; 

SET @db_name = 'testDB';    

SET @fileDate = CONVERT(VARCHAR(8), GETDATE(),112) + convert (varchar(4),DATEPART(HOUR, GETDATE())) + convert ( varchar(4) ,DATEPART(MINUTE, GETDATE())) + convert ( varchar(4) ,DATEPART(SECOND, GETDATE()));

SET @fileName = @fileName + @db_name + RTRIM(@fileDate) + '.bak';

SET @commandtxt = 'BACKUP LOG testDB TO DISK =''' + @fileName + ''' WITH INIT'

-- add a job

EXEC dbo.sp_add_job 
@job_name = N'LogBackup',
@description =N'Log Backup on weekdays every 15 minutes from 8am till 6pm' ;

-- add job steps to job
EXEC sp_add_jobstep
@job_name = N'LogBackup',
@step_name = N'Weekdays_Log_Backup',
@subsystem = N'TSQL',
@command = @commandtxt ,
@on_success_action = 1,
@retry_attempts = 5,
@retry_interval = 1 ;
GO

...

4

1 に答える 1

2

まず、バックアップには複数のバックアップ セットを含めることができるため、同じファイル内に別のセットを追加するだけでなく、それを上書きしていると確信していますか? それ以外の場合は、ファイル名に時刻を追加する必要があります。お役に立てれば。また、データベースが 1 つまたは 2 つだけの場合は、優れた (限定使用の場合は無料) アプリ google SQLBackupAndFTP HTH があります。

于 2013-03-01T09:18:18.740 に答える