SQLServer 11. téma DBMS particiók, LOG shipping
Kovács László, ME GEIAL
Particionálás
Tábla, index adatinak szétosztása több FileGroup-ra Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
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,…) Kovács László, ME GEIAL
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],…) Kovács László, ME GEIAL
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) … Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
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) Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
Log shipping LOG file Secondary
Primary
Monitor
Adatbázisról egy készenléti másolat naplók átküldésén keresztül Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
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) Kovács László, ME GEIAL
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
Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
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ó)
Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
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 Kovács László, ME GEIAL
11