Plani i Mirëmbajtjes së DB

Kjo temë përshkruan se si të zbatohet një Plan Mirëmbajtjeje i Bazës së të Dhënave (DBMP) duke përdorur komandat T-SQL. Një DBMP ofron më shumë funksionalitet sesa një kopje e thjeshtë sepse kontrollon integritetin e bazës së të dhënave, riparon gabime të vogla dhe optimizon performancën e bazës së të dhënave.
Krijimi i një DBMP
Duke përdorur pyetjen më poshtë, ju duhet vetëm të modifikoni variablat globale, dhe skripti është gati për t'u ekzekutuar.
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)
-- Deklaroni variablat globale
set @sDBName = 'BigDB' -- Emri i bazës së të dhënave / ndryshoni sipas nevojës
set @sPlanName = 'Plani i Mirëmbajtjes së BigDB' -- Emri i planit të mirëmbajtjes / ndryshoni sipas nevojës
set @sLogDir = 'C:\MSSQL7\LOG' -- Rruga për regjistrin e serverit / ndryshoni sipas nevojës
set @sBackupDir = 'C:\MSSQL7\BACKUP' -- Rruga për vendndodhjen e kopjes rezervë / ndryshoni sipas nevojës
set @iStartDate = 20020425 -- Data kur plani i mirëmbajtjes bëhet aktiv (YYYYMMDD)
set @iBackupTime = 20000 -- Koha për të filluar kopjet rezervë (2:00 AM)
set @iOptiTime = 10000 -- Koha për të filluar optimizimin (1:00 AM)
-- Merrni ID-në e planit dhe futeni në tabelën PLANS
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)
-- Filloni punët
--!! select @PlanID = N'1403015E-AAC4-4481-81EF-84BCAF0CBC91'
set @sJobName = 'Detyra e Kopjimit të DB për Planin e Mirëmbajtjes së DB '''+@sPlanName+''''
...
Shikimi i DBMP-ve
Për të shfaqur një listë të planeve aktive të mirëmbajtjes, ekzekutoni pyetjen e mëposhtme:
select *
from msdb.dbo.sysdbmaintplans