SQLServer 11. téma DBMS particiók, LOG shipping Particionálás Tábla, index adatinak szétosztása több FileGroup-ra 1
Particionálás Előnyök: Nagy méret hatékonyabb kezelése Részek önálló mentése, karbantartása Hatékonyabb, gyorsabb adathozzáférés Terhelés kiegyensúlyozás Hátrányok: Nagyobb adminisztráció Egységként kezelés Particionálás lépései Végrehajtandó parancsok: Particionáló függvény létrehozása Particionáló séma létrehozása a particionáló függvény alapján Tábla, index kötése a partionálási sémához: Objektum létrehozásakor Új cluster index megadásával Információs adatok lekérrdezése 2
Particionálási függvény Célja: a rekord tartalma alapján a rekord helyének kijelölése Csak tartomány alapú lehet (nincs hash) Egy kulcsintervallumhoz tartozik egy célhely CREATE PARTITION FUNCTION fnev (kulcs_tipus) AS RANGE LEFT RIGHT FOR VALUES (v1,v2, ) Particionálási séma Séma szerepe: A tartományok rekordjainak tárolási helyét adja meg Értéktartományok hozzárendelése FileGroupokhoz Partionálási függvényen alapszik CREATE PARTITION SCHEMA pnev AS PARTITION pfnev TO ([filegroup1] [filegroup2], ) 3
Tábla particionálása Létrehozáskori kötés: Particiós séma megadása Aktuális kulcsmező kijelölése CREATE TABLE db.sema.tabla (mezolista) ON particio_séma (aktuális_kulcs) Index particionálása Létrehozáskori kötés: CREATE INDEX db.sema.index ON (mezolista) ON particio_séma (aktuális_kulcs) Egy új CLUSTERED INDEX létrehozásával utólag is particionálható a tábla 4
Particiók adatai Információs források: Particiós függvények: SELECT FROM SYS.PARTITION_RANGE_VALUES Particiós séma: SYS.PARTITION_SCHEMES Particiók: SYS.PARTITIONS Particiós függvény Függvény meghívása: SELECT $PARTITION.par_fuggv(pp) Függvény módosítása intervallum szétvágás: ALTER PARTITION FUNCTION fnev SPLIT (hatar) Intervallum összevonás: ALTER PARTITION FUNCTION fnev MERGE (hatar) 5
Particiók átmozgatása Egy tábla particiói átcsatolhatók egy másik táblához: ALTER TABLE db.sema.tabla SWITCH [PARTITION pn] TO db.sema.tabla [PARTITION pn] A particiók dupplán láncolt listába szervezettek Log shipping Primary LOG file Secondary Monitor Adatbázisról egy készenléti másolat naplók átküldésén keresztül 6
LOG shipping LOG shipping szerepe: Adatbázis mentések szinkronizálására Nincs automatikus helyreállítás A végrehajtott parancsok naplóit átküldi a tükörképhez Megismétli az operatív DB-beli műveleteket Agent felügyelete alatt fut A monitor csak naplóz Szereplők: Primary database Primary server Secondary database Secondary server Monitor server LOG shipping LOG shipping előfeltételei: Egyazon szerver is játszhatja mindhárom szerepet Nem fut Express Edition alatt SQL Server Agent távoli elérést biztosítani kell Primary database FULL Recovery módban Osztott katalógust igényel (primary: RW, secondary: R) 7
LOG shipping Primary adatbázis beállítása SQL Server Management Studio Database Properties Window Transaction Log Shipping Page Enable as primary Backup mód beállításai: Katalógus megadása Megőrzés időtartama Késedelem figyelés Job neve, ütemezése LOG shipping Primary adatbázis beállítása SCRIPT-ben: EXEC @SP_ADD_RETCODE = master.dbo.sp_add_log_shipping_primary_database @database = dnev, @backup_directory = path, @backup_job_name = jnev, @backup_job_id = @id OUTPUT, EXEC msdb.dbo.add_schedule. EXEC msdb.dbo.sp_attach_schedule @job_id=@id EXEC msdb.dbo.sp_update_job @job_id = @id, @enabled = 1 EXEC master.dbo.sp_add_log_shipping_alert_job 8
LOG shipping Secondary adatbázis beállítása Primary database panelen keresztül Secondary database settings Secondary DB mód beállításai: Kapcsolati paraméterek (távoli Agent-hez történő kapcsolódás) Adatbázis inicializálás módja Naplófile átmásolás módja Naplófile lejátszás módja (szinkronizáció) LOG shipping Secondary adatbázis beállítása Inicializálási módok: Full Backup Létező mentés használata Nincs szükség inicializálásra Napló file másolási paraméterek: Katalógus Megőrzési időtartam Job paraméterek Naplófile lejátszás beállításai: No recovery mód Standby mód 9
RESTORE működési módjai Háromféle működési mód: Recovery mód: Nem teljes tranzakciók adatai törlődnek, használható a DB No recovery mód: Nem törlődnek tranzakció adatok, várja a folytatást, nem használható a DB Standby mód: Nem teljes tranzakciók adatai külön állományba lementődnek, későbbi helyreállításkor felhasználhatók, közben használható a DB LOG shipping Secondary adatbázis beállítása SCRIPT-ben: EXEC master.dbo.sp_add_log_shipping_secondary_primary @primary_database,@backup_source_directory, @backup_destination_directory EXEC msdb.dbo.add_schedule. EXEC msdb.dbo.sp_attach_schedule @job_id=@id EXEC msdb.dbo.sp_update_job @job_id = @id, @enabled = 1 EXEC master.dbo.sp_add_log_shipping_secondary_database EXEC msdb.dbo.sp_update_job 10
LOG shipping Monitor szerver beállítása A primary és secondary server Agent adatait olvassa Sysjobactivity Sysjobhistory Log_shipping_monitor_history_detail Log_shipping_monitor_error_detail Database Properties Window a primary adatbázisnál Backup mód beállításai: Kapcsolódási jelszavak katalógusok Megőrzés időtartama Job neve 11