transaction log file:.ldf extent: 8 contiguous 8kb pages page: 8kb primary data file:.mdf secondary...
TRANSCRIPT
SQL 2012 TKOC
Munka az adatbázisokkal I.
Király IstvánMicrosoft Certified TrainerMicrosoft Certified Systems Engineer
Tartalom
Adattárolás módja az SQL szerverbenAdatfájlok típusaiPage, ExtentAdat elhelyzés szempontjaiRendszeradatbázisokFelhasználói adatbázisok
Hogyan tárolja az SQL Szerver az adatokat?
Transaction Log file: .ldf
Transaction Log file: .ldf
Extent: 8 contiguous 8KB pagesExtent: 8 contiguous 8KB pages
Page: 8KBPage: 8KB
Primary Data file: .mdf
Secondary data file: .ndf
Primary Data file: .mdf
Secondary data file: .ndf
Table and Index data is stored in Pages that are grouped in Extents. Special allocation
pages keep track of page usage.
Table and Index data is stored in Pages that are grouped in Extents. Special allocation
pages keep track of page usage.
Primary Data FileMaster Data FileKötelezőAjánlott kiterjesztése .mdfAz adatbázis kiindulópontja
Secondary Data FileOpcionálisAjánlott kiterjesztése: .ndfTeljesítmény növelése érdekében (külön lemezen) vagy/ésEgyszerűbb karbantartás érdekébenHa az Master Data File mérete elérte a fájlrendszer által megengedett maximális értéket
PageEgyedileg számozott értéket kapnakNövekvő számsor a 0-tól kezdődőenMinden fájlnak van egyedi azonosítója az adatbázisbanA lapok egyedileg azonosíthatók a fájl ID és a page ID alapjánFejléc+adat+ofset tábla
Extent8 fizikailag egymást követő lap/page(64Kb)1Mb adat = 16db extentKét típusa:
Uniform (egységes)Mixed (vegyes)
Mixed Uniform
Log FileLegalább 1db kötelezőWAL technológia (write-ahead logging)Ajánlott kiterjesztése .ldfAdat (page)műveletdirty pagelogcheckpointadatbázisAdatok integritásának megőrzése
Adat-elhelyezés szempontjai
Log fájl és adat fájl külön lemezenRAID tömök használataHatározzuk meg az adatfájlok helyét és számát
Több kisebb adatfájlkönnyebb karbantartásTöbb kisebb adatfájlgyorsabb mentés, szeparált mentésGyakran használt adatfájl külön lemezen stb.
HDD méret és adatméret megbecsüléséhez vegyük figyelembe az adatfájl, a log fájl és a tempdb leendő méretét!Vegyük figyelembe az alkalmazás gyártójának ajánlásaitTesztelés, monitorozásHistorikus adatok állnak rendelkezésre?Automatikus méretnövekedés bekapcsolása
Kapacitástervezés
System Databases
System Database Description
master SQL Server konfigurációs adatok. Ha megsérül nem indul el a szerver. Célszerű gyakran menteni
msdb
SQL Agent konfiguráció, job, backup, restore, operator, a mintenance plan hisztorikus adatok. Célszerű rendszeresen menteni (SSIS adatok most már nem ide kerülnek, hanem külön db-be)
modelÚj adatbázis „minta”. Bármilyen objektumot helyezünk itt el az összes új adatbázisban létrejön. Nélküle sem indul el az SQL Server!
tempdb TEMP adatok tárolása, törlődik, csonkolódik. Nem kell menteni
resource Rejtett, rendszerkonfigurációs adatok, rendszer szintű tárolt eljárások, view-ok stb. SQL 2005-től.
TEMPDBIdeiglenes, átmeneti adatok, felhasználói objektumok tárolására szolgálAz INSTANCE újraindulásakor törlődik a tartalmaHasználattól függően nagyon nagy méretet is elérhetfelzabálhatja a HDD-tsql működési zavarokA jobb SQL teljesítmény elérése érdekében célszerű külön lemezen elhelyezniPárhozamosan többet is használhatunkAjánlás: 0,25-1 fájl / processzor magMaximum 8db lehet belőle
demo TempDB
Áthelyezés, átméretezésTöbb tempdb használata
Felhasználói adatbázisok kezelése
Adatbázisok létrehozásaAdatbázisok tulajdonságainak meghatározásaGyors fájl-inicializálás
Felhasználói adatbázisok létrehozása• GUI segítségével
• CREATE DATABASE T-SQL paranccsal
• Collation meghatározás nem kötelező
CREATE DATABASE ElsoON ( NAME = Elso_dat, FILENAME = ‚C:\Data\Elso.mdf', SIZE = 100MB, MAXSIZE = 500MB, FILEGROWTH = 20% )LOG ON( NAME = Elso_log, FILENAME = ‚D:\Logs\Elso.ldf', SIZE = 20MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10MB );
CREATE DATABASE ElsoON ( NAME = Elso_dat, FILENAME = ‚C:\Data\Elso.mdf', SIZE = 100MB, MAXSIZE = 500MB, FILEGROWTH = 20% )LOG ON( NAME = Elso_log, FILENAME = ‚D:\Logs\Elso.ldf', SIZE = 20MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10MB );
Felhasználói adatbázisok létrehozása
Az adatbázis áll egy logikai fájlnévből (logical name) és a fizikai fájlból (.mdf, .ldf fájlok nevei)Mindig a logikai fájlnévre hivatkozunk A logikai fájlnévnek egyedinek kell lennie128 karakter hosszú lehetAdatbázis létrehozásánál a model adatbázis másolódik le, ha nem adtunk meg más értéket
Felhasználói adatbázisok tulajdonságainak meghatározása (Database Options)Adatbázisonként egyedileg meghatározott
tulajdonságok
Gyors fájl inicializálás„Zeros out” folyamat kikerüléseSQL 2005-től jelent megInstant File Initialization (IFI) névenNagy méretű adatbázis fájlok lefoglalásaHírtelen fájl növekedésGyors visszaállítás esetéreSQL Server-t futtató usernek kell a jogot megadniBeállítható domain vagy local policybólPerform Volume Maintenance TaskCsak az adatfájlokra vonatkozik!
demo Adatbázisok létrehozása
+Instant File Initialization