160 likes | 255 Views
SQL 2012 TKOC. Munka az adatbázisokkal II. Király István Microsoft Certified Trainer Microsoft Certified Systems Engineer. Bevezetés - Tartalom Miről lesz szó a mai napon?. Gyakori adatbázis műveletek Fájlcsoportok Adatbázisok áthelyezése, mozgatása Adatbázisok másolása.
E N D
SQL 2012 TKOC Munka az adatbázisokkal II. Király István Microsoft CertifiedTrainer Microsoft Certified Systems Engineer
Bevezetés - TartalomMiről lesz szó a mai napon? • Gyakori adatbázis műveletek • Fájlcsoportok • Adatbázisok áthelyezése, mozgatása • Adatbázisok másolása
Munka az adatbázisokkal • Gyakori műveletek: • Adatfájlok hozzáadása (add file) • Adatbázis-fájl méretének növelése (expand) • Adatbázis-fájl méretének csökkentése (shrunk) • Adatbázis „törlése” (drop, empty) • SQL Server Management Studio segítségével (SSMS) • ALTER DATABASE v. • DBCC használatával
Expand • Az adatbázis-fájl és a log fájl is automatikusan növekedik az auto-growth beállítások szerint • Manuálisan is beavatkozhatunk a folyamatba, de nem célszerű (Time-out, Block) • Ha az adatbázis autó növelés nem sikerül, akkor 1105 event • Ha a log fájl autó növelés nem sikerült akkor 9002-es event • Növelés másik módszere az új adatfájl hozzáadásaALTER DATABASE….ADD FILE • Az alapértelmezett automatikus növekedési érték 1Mb az adatbázisfájloknál, ami nagyon alacsony, célszerű nagyobb értéket megadni • MAXSIZE értékkel korrigálható az elérhető fájlméret
Shrink • Nagyobb adatmennyiség eltávolítása után, előfordulhat, hogy manuálisan csökkenteni kell a fájlok méretét • DatabaseOptions: AutoShrink • DBCC SHRINKDATABASE, DBCC SHRINKFILE • Lehetőleg minél kevesebbet használjuk, töredezett lehet az adatbázisunk • Ha mégis szükséges: • TRUNCATE ONLY – csak a fájl végét csonkolja
Adatbázisműveletek demo add, expand, shrink, drop
Filegroups - Fájlcsoportok • Adatfájlok adminisztratív kezelését segíti • Teljesítmény hangolásra is alkalmazható • Log fájlokra nem alkalmazható • Legalább egy FILEGROUP –nak mindig léteznie kell • Pl.: nagy méretű, gyakran használt táblát külön fájlcsoportba helyezünk el és ezt a fájl külön diszken tároljuk • Arányos kitöltés elve érvényesül egy fájlcsoporton belül, vagyis az SQL Engine egyenlő mértékben próbálja írni az adatokat az egyes fájlcsoport tagjai között. • Egy file csak egy fájlcsoportnak lehet a tagja
Filegroups A fájlcsoportok egyenként menthetők és visszaállíthatók! Primary Filegroup Data File(s) *.mdf , *.ndf Database OtherFilegroups Data File(s) *.ndf Log File(s) *.ldf
Filegroups • Együttesen használható particionált táblákkal és indexekkel • Ha nem adunk meg filegroup-ot, akkor a default lesz használatban. • Defaultfilegroup bármelyik csoport lehet! • Az első filegroup a PRIMARY • Read-onlyfilegroup is létrehozható, előnyei: • Tömörített fájlrendszeren is lehet (a többi nem!) • Egyszerűbb helyreállítás (nem kell a log fájlal bajlódni) • Véletlen/szándékos adatmódosítás megakadályozható • Archive adatok lassabb meghajtón is lehetnek
Filegroups demo
Adatbázisok áthelyezése • Detach – attach • Legegyszerűbb költöztetési mód • Példányok és szerverek között is • „Árva” userek • SSMS vagy ‚sp_detach_db’; ‚createdatabaseforattach’ • Replikált vagy tükrözött adatbázis-t nem lehet leválasztani
Adatbázisok mozgatása • Az adat és a log fájlokat is kell mozgatni • Detach/Attach vagy ALTER DATABASE utasítások • Figyelni az adatbázis logikai nevére. • Adatbázisok offline módba kapcsolása • A mozgatás a szerverek vagy példányok között „kézzel kell megtörténjen”
Rendszer-adatbázisok mozgatása • A resources adatbázison KÍVÜL a többi mozgatható • Master Database: • Startup paraméter módosítása, adatbázis mozgatása, míg a példány áll. • ALTER DATABASE utasítással • Körültekintéssel végezzük a műveleteket • Sikertelen műveletet követően nem fog elindulni az SQL példányunk
Adatbázisok másolása • Detach/Attach • Backup/Restore • CopyDatabaseWizard: • Másol vagy mozgat • Mozgathatjuk az adatbázishoz tartozó egyéb objektumokat is: loginok, maintenanceplan, és egyéb a master adatbázisban tárolt információkat is. • Ütemezetten is végrehajthatjuk az sqlagentjobok segítségével
Adatbázisok mozgatása demo +MoveTempDb,master