PDA

View Full Version : کمک کنید لطفا ... ئر ارتباط با تهیه فایل پشتیبان خودکار



Reza Safa
سه شنبه 18 فروردین 1394, 15:41 عصر
سلام و خسته نباشید به شما عزیزان

من یه جاب و یه برنامه ریزی در Sql تعریف کردم
اما فایل پشتیبان و تهیه نمی کنه
در قسمت job acrivity monitor هربا اجرا رو با موفقیت اعلام میکنه
اما من فایل پشتیبان رو نمی بینم
ممنون می شم کمک کنید

تظیمات رو روی یه دقیقه هرروز ست کردم

لطف کنید بررسی کنید ایراد چیه که فایل پشتیبان تهیه نمی کنه
من هرچی نگاه میکنم نمی فهمم



USE [msdb]
GO


/****** Object: Job [jdbm] Script Date: 04/07/2015 16:15:06 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 04/07/2015 16:15:06 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback


END


DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'jdbm',
@enabled=1,
@notify_level_eventlog=2,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'Backup Database',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'Safasoftco\Reza Soleymani Safa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [Backup db] Script Date: 04/07/2015 16:15:06 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'Backup db',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=5,
@retry_interval=5,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'declare @dbName as nvarchar(100)=''1391''
declare @s as nvarchar(max)
declare @d as nvarchar(max)
select @d = cast(DATEPART(YYYY,GETDATE()) as nvarchar(4))+ ''_'' + cast(DATEPART(mm,GETDATE()) as nvarchar(2))+ ''_'' + cast( DATEPART(dd,GETDATE()) as nvarchar(2))+ ''_'' + cast( DATEPART(hh,GETDATE()) as nvarchar(2))+ ''_'' + cast(DATEPART(mi,GETDATE()) as nvarchar(2))+ ''_'' + cast(DATEPART(ss,GETDATE()) as nvarchar(2))
select @s = ''BACKUP DATABASE ['' + @dbName + ''] TO DISK = N''''D:\'' + @dbName + ''_backup_''+ @d +''.bak'''' WITH RETAINDAYS = 5, NOFORMAT, NOINIT, NAME = N'''''' + @dbName + ''_backup_''+ @d +'''''', SKIP, REWIND, NOUNLOAD, STATS = 10''',
@database_name=N'1391',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'sjdbm',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=4,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20150407,
@active_end_date=99991231,
@active_start_time=160600,
@active_end_time=235959,
@schedule_uid=N'a8ef8c97-dee0-4733-b6e3-20774e1060c8'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:


GO

Reza Safa
چهارشنبه 19 فروردین 1394, 11:46 صبح
دوستان کسی نیست کمک من کنه

Reza Safa
چهارشنبه 26 فروردین 1394, 08:45 صبح
کسی کمک نکرد
اما راه حل پیدا شد
باید در انتهای command اینو اضافه می کردم
EXEC sp_executesql @s