PANTHEON™ Help

 Sadržaj
 Glavna strana- Dobrodošli u PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Collapse]Priručnik za PANTHEON
   [Expand]Pantheon Hosting
   [Expand]Pomoć
   [Expand]Podešavanja
   [Expand]Narudžbine
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Radna površina
   [Expand]Analize
   [Expand]Korisničke strane
   [Expand]Poslovni saveti
    Dodatno
   [Expand]Plansko-analitički alat ZEUS
   [Expand]Dodatni programi
   [Expand]Obaveštenja programa
   [Expand]Zvanična mišljenja
   [Expand]Dodatni programi
   [Collapse]Sistemska okolina
    [Expand]Instalacija
    [Collapse]Automatsko izvođenje
      Automatsko izvođenje na MS Windows 95
      Automatsko izvođenje na MS Windows 98
     [Expand]Automatsko izvodjenje na MS Windows 2000
     [Collapse]SQL jobs
      [Expand]SQL Job Preračun prometa
       Opomene za neisplaćene račune e-mailom
       DB Maintainance plan
      Automatsko izvođenje na MS Windows NT
    [Expand]PANTHEON™
    [Expand]DataLab Utilities
    [Expand]Hardware
    [Expand]Referentni integritet (RI)
    Rečnik izraza
   [Expand]Zastareli produkti
  [Expand]Vodič po DataLab PANTHEON™ Farming
  [Expand]Vodič za mobilni POS
  [Expand]Vodič za PANTHEON Vet
 [Collapse]PANTHEON korisnički priručnici
  [Expand]Korisnički priručnik za PANTHEON
  [Expand]Operativni priručnik za datalab PANTHEON Farming
  [Expand]Korisnički vodič za mobilni POS
  [Expand]Korisnički priručnik za PANTHEON VET
  [Expand]Korisnički priručnik za PANTHEON Farming
[Collapse]PANTHEON Web
 [Collapse]Priručnici za PANTHEON Web
  [Expand]Vodič po PANTHEON Web Light-u
  [Expand]Vodič po PANTHEON Web Terminal-u
  [Expand]Vodič za PANTHEON Web Legal
  [Expand]Arhiva starih proizvoda
 [Collapse]Korisnički priručnici za PANTHEON Web
  [Expand]Kako početi? PANTHEON Web
  [Expand]Korisnički priručnik za PANTHEON Web Light
  [Expand]Korisnički priručnik za PANTHEON Web Terminal
  [Expand]Arhiva starih proizvoda
  [Expand]Korisnički priručnik za PANTHEON Web Legal
[Collapse]PANTHEON Granule
 [Collapse]Priručnik za PANTHEON Granule
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula Dokumenti i zadaci
  [Expand]Granula Kontrolna tabla
  [Expand]Granula Servis na terenu
  [Expand]Granula B2B naručivanje
  [Expand]Inventar Fiksne Imovine
  [Expand]Granula Inventar skladišta
 [Collapse]Korisnički priručnik za PANTHEON Granule
  [Expand]Kako početi?
  [Expand]PANTHEON Granule i aktivacija
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula B2B Naručivanje
  [Expand]Granula Kontrolna tabla
  [Expand]Granula Dokumenti i Zadaci
  [Expand]Granula Servis na terenu
   PANTHEON Granule - česta pitanja i odgovori
  [Expand]Inventar Fiksne Imovine
  [Expand]Arhiva
  [Expand]Granula Inventar skladišta
   Arhiva

Load Time: 687,4632 ms
"
  2842 | 3240 | 32420 | Review
Label

DB Maintainance plan

DB Maintainance plan

DB Maintainance Plan

U ovom poglavlju ćemo pogledati, kako da uradimo, sa T-SQL ukazima DB Maintainance Plan (DBMP). DBMP je primereniji od samog čuvanja rezervne kopije (backup), jer pregleda i strukturu podataka, popravlja manje podatkovne greške i oslobađa eventualni prostor u bazi podataka.

Kreiranje DBMP-a

00001.gif U ovom skriptu dovoljno je, da promenite globalne promenljive i pokrenete ga !
use master

begin transaction

declare
  @sPlanID nchar(36),
  @sPlanName varchar(100),
  @sLogDir varchar(100),
  @sBackupDir varchar(100),
  @sJobName varchar(255),
  @sParam varchar(1000),
  @sDBName varchar(100),
  @iStartDate int, 
  @iBackupTime int,
  @iOptiTime int,
  @ReturnCode INT  ,  
  @JobID0 nchar(36), 
  @JobID1 nchar(36), 
  @JobID2 nchar(36), 
  @JobID3 nchar(36), 
  @JobID4 nchar(36), 
  @JobID5 nchar(36), 
  @JobID6 nchar(36), 
  @JobID7 nchar(36), 
  @JobIDD nchar(36) 


  -- tu inicializiramo globalne promenljive 
  set @sDBName = 'Blaz'  -- ime baze / promeni po potrebi
  set @sPlanName = 'DB Maintenance Blaz'  -- ime maintainance plana / promeni po potrebi
  set @sLogDir = 'C:\MSSQL7\LOG'  -- putanja za log s servera / promeni po potrebi
  set @sBackupDir = 'C:\MSSQL7\BACKUP'  -- putanja za backup s servera / promeni po potrebi
  set @iStartDate = 20020425       -- početni datum, od kojeg naprej se izvodi (25.4.2002)
  set @iBackupTime = 20000         -- ura, kada naj počne z backupom (02:00:00)
  set @iOptiTime = 10000           -- ura, kada se delajo optimizacije (01:00:00)

  -- dobijemo njegov ID i ga unesemo u PLANS tabelu                           
  select  @sPlanID = NEWID()                             
  insert  msdb.dbo.sysdbmaintplans (plan_id, plan_name, max_history_rows, remote_history_server, max_remote_history_rows) 
    values (@sPlanID, @sPlanName, 1000, '', 0)              
  -- sada pa počnemo z jobi
--!! select  @PlanID = N'1403015E-AAC4-4481-81EF-84BCAF0CBC91'   

  set @sJobName = 'DB Backup Job for DB Maintenance Plan '''+@sPlanName+''''
  exec @ReturnCode = msdb.dbo.sp_add_job 
     @job_id = @JobID4 output, 
     @job_name = @sJobName, 
     @enabled = 1, 
     @category_id = 3
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sParam = 'exec master.dbo.xp_sqlmaint N''-PlanID '+@sPlanID+' -Rpt "'+@sLogDir+'\DBMP (Backup) '+@sDBName+'.txt" -DelTxtRpt 1WEEKS -WriteHistory  -VrfyBackup -BkUpOnlyifClean -CkDBRepair  -BkUpMedia DISK -BkUpDB  -UseDefDir  -DelBkUps 1 -BkExt ""'''
  exec @ReturnCode = msdb.dbo.sp_add_jobstep 
     @job_id = @JobID4, 
     @step_id = 1, 
     @step_name = N'Step 1', 
     @subsystem = N'TSQL', 
     @on_success_action = 1, 
     @on_fail_action = 2, 
     @command = @sParam, 
     @flags = 4
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobschedule 
     @job_id = @JobID4, 
     @name = N'Schedule 1', 
     @enabled = 1, 
     @freq_type = 4, 
     @active_start_date = @iStartDate, 
     @active_start_time = @iBackupTime, 
     @freq_interval = 1, 
     @freq_subday_type = 1, 
     @freq_subday_interval = 0, 
     @freq_relative_interval = 0, 
     @freq_recurrence_factor = 1, 
     @active_end_date = 99991231, 
     @active_end_time = 235959
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobserver 
     @job_id = @JobID4, 
     @server_name = N'(local)'
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sJobName = 'Transaction Log Backup Job for DB Maintenance Plan '''+@sPlanName+''''
  exec @ReturnCode = msdb.dbo.sp_add_job 
     @job_id = @JobID6 output, 
     @job_name = @sJobName, 
     @enabled = 1, 
     @category_id = 3
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sParam = 'exec master.dbo.xp_sqlmaint N''-PlanID '+@sPlanID+' -Rpt "'+@sLogDir+'\DBMP (Log Backup) '+@sDBName+'.txt" -DelTxtRpt 1WEEKS -WriteHistory  -VrfyBackup -BkUpOnlyifClean -CkDBRepair  -BkUpMedia DISK -BkUpLog  -UseDefDir  -DelBkUps 1 -BkExt ""'''
  exec @ReturnCode = msdb.dbo.sp_add_jobstep 
     @job_id = @JobID6, 
     @step_id = 1, 
     @step_name = N'Step 1', 
     @subsystem = N'TSQL', 
     @on_success_action = 1, 
     @on_fail_action = 2, 
     @command = @sParam, 
     @flags = 4
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobschedule 
     @job_id = @JobID6, 
     @name = N'Schedule 1', 
     @enabled = 1, 
     @freq_type = 8, 
     @active_start_date = 0, 
     @active_start_time = 0, 
     @freq_interval = 126, 
     @freq_subday_type = 1, 
     @freq_subday_interval = 0, 
     @freq_relative_interval = 0, 
     @freq_recurrence_factor = 1, 
     @active_end_date = 99991231, 
     @active_end_time = 235959
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobserver 
    @job_id = @JobID6, 
    @server_name = N'(local)'
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sJobName = 'Integrity Checks Job for DB Maintenance Plan '''+@sPlanName+''''
  exec @ReturnCode = msdb.dbo.sp_add_job 
    @job_id = @JobID2 output, 
    @job_name = @sJobName, 
    @enabled = 1, 
    @category_id = 3
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sParam = 'exec master.dbo.xp_sqlmaint N''-PlanID '+@sPlanID+' -Rpt "'+@sLogDir+'\DBMP (Integrity) '+@sDBName+'.txt" -DelTxtRpt 1WEEKS -WriteHistory  -CkDBRepair  '''
  exec @ReturnCode = msdb.dbo.sp_add_jobstep 
    @job_id = @JobID2, 
    @step_id = 1, 
    @step_name = N'Step 1', 
    @subsystem = N'TSQL', 
    @on_success_action = 1, 
    @on_fail_action = 2, 
    @command = @sParam, 
    @flags = 4
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 
  exec @ReturnCode = msdb.dbo.sp_add_jobschedule 
    @job_id = @JobID2, 
    @name = N'Schedule 1', 
    @enabled = 1, 
    @freq_type = 4, 
    @active_start_date = @iStartDate, 
    @active_start_time = 0, 
    @freq_interval = 1, 
    @freq_subday_type = 1, 
    @freq_subday_interval = 0, 
    @freq_relative_interval = 0, 
    @freq_recurrence_factor = 1, 
    @active_end_date = 99991231, 
    @active_end_time = 235959
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 
  exec @ReturnCode = msdb.dbo.sp_add_jobserver 
    @job_id = @JobID2, 
    @server_name = N'(local)'
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 
 
  set @sJobName = 'Optimizations Job for DB Maintenance Plan '''+@sPlanName+''''
  exec @ReturnCode = msdb.dbo.sp_add_job 
    @job_id = @JobID0 output, 
    @job_name = @sJobName, 
    @enabled = 1, 
    @category_id = 3
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  set @sParam = 'exec master.dbo.xp_sqlmaint N''-PlanID '+@sPlanID+' -Rpt "'+@sLogDir+'\DBMP (Optimisations) '+@sDBName+'.txt" -DelTxtRpt 1WEEKS -WriteHistory  -RebldIdx 10 -RmUnusedSpace 50 10 '''
  exec @ReturnCode = msdb.dbo.sp_add_jobstep 
    @job_id = @JobID0, 
    @step_id = 1, 
    @step_name = N'Step 1', 
    @subsystem = N'TSQL', 
    @on_success_action = 1, 
    @on_fail_action = 2, 
    @command = @sParam, 
    @flags = 4
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobschedule 
    @job_id = @JobID0, 
    @name = N'Schedule 1', 
    @enabled = 1, 
    @freq_type = 4, 
    @active_start_date = @iStartDate,
    @active_start_time = @iOptiTime, 
    @freq_interval = 1, 
    @freq_subday_type = 1, 
    @freq_subday_interval = 0, 
    @freq_relative_interval = 0, 
    @freq_recurrence_factor = 1, 
    @active_end_date = 99991231, 
    @active_end_time = 235959
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  exec @ReturnCode = msdb.dbo.sp_add_jobserver 
    @job_id = @JobID0, 
    @server_name = N'(local)'
  if (@@ERROR <> 0 OR @ReturnCode <> 0) goto QuitWithRollback 

  if (select Count(*) 
       from msdb.dbo.sysdbmaintplan_databases 
       where plan_id = @sPlanID AND database_name = @sDBName) < 1 
     insert msdb.dbo.sysdbmaintplan_databases (plan_id, database_name) values (@sPlanID, @sDBName)
  delete msdb.dbo.sysdbmaintplan_jobs where plan_id = @sPlanID
  insert msdb.dbo.sysdbmaintplan_jobs 
    values (@sPlanID, @JobID0)
  insert msdb.dbo.sysdbmaintplan_jobs 
    values (@sPlanID,  @JobID2)
  insert msdb.dbo.sysdbmaintplan_jobs 
    values (@sPlanID,  @JobID4)
  insert msdb.dbo.sysdbmaintplan_jobs 
    values (@sPlanID,  @JobID6)

commit transaction
goto EndSave 
QuitWithRollback: if (@@TRANCOUNT > 0) rollback transaction
EndSave: 

Pregled DBMP-va

Ako želimo pregledati, koji DBMP-vi su aktivni, to možemo da uradimo sa naredbom

 

select  *
from    msdb.dbo.sysdbmaintplans            

 


 

Oceni ovu temu
Da li je ova tema korisna?
Komentari
Komentari će biti vidljivi i na forumu!