s kapa sql server zemeltet si praktik k a mindennapokra n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Ásó, kapa, SQL Server Üzemeltetési praktikák a mindennapokra PowerPoint Presentation
Download Presentation
Ásó, kapa, SQL Server Üzemeltetési praktikák a mindennapokra

Loading in 2 Seconds...

play fullscreen
1 / 27

Ásó, kapa, SQL Server Üzemeltetési praktikák a mindennapokra - PowerPoint PPT Presentation


  • 197 Views
  • Uploaded on

Ásó, kapa, SQL Server Üzemeltetési praktikák a mindennapokra. B itemo Erik Gergely erik@bitemo.hu http://www.rollback.hu DBA Expert Disney Interactive Media Group. Miről lesz szó?. SQL Server – 2000 , 2005 , 2008* Best practices, nem kinyilatkoztatás Főleg üzemeltetői szemszögből

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Ásó, kapa, SQL Server Üzemeltetési praktikák a mindennapokra' - kelvin


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
s kapa sql server zemeltet si praktik k a mindennapokra

Ásó, kapa, SQL ServerÜzemeltetési praktikák a mindennapokra

Bitemo Erik Gergelyerik@bitemo.hu

http://www.rollback.hu

DBA Expert

Disney Interactive Media Group

mir l lesz sz
Miről lesz szó?
  • SQL Server – 2000, 2005, 2008*
  • Best practices, nem kinyilatkoztatás
  • Főleg üzemeltetői szemszögből
  • Tematika:
      • A legfontosabb lépések
      • Egy szerver telepítése és konfigurálása
      • Változáskezelés
      • Mazsolázás
els l p s ments nk gyorsan
Első lépés – mentsünk gyorsan

SELECT database_name,

[type],

max(backup_start_date) last_backup

FROM backupset

GROUP BY database_name, [type]

ORDER BY database_name, [type]

m sodik l p s ments nk sz pen
Második lépés – mentsünk szépen
  • Maintenance Plan használatával automatizálhatjuk a backup fájlok törlését is
  • Ad-hoc mentéshez is érdemes ezt használni
  • Szalagra / másik gépre (de legalább másik diszkre) mentsünk
    • Ha diszkre és onnan szalagra mentünk: időzítés!
  • Ha beállítottunk mindent, próbáljuk végig a folyamatot, és állítsuk vissza mindenképpen a backup fájlt
  • Rendszeradatbázisokat is mentsük
    • Minimális dokumentáció: adatbázis-motor verziószáma
harmadik l p s monitorozzunk
Harmadik lépés - monitorozzunk
  • Mit?
    • Futnak-e a service-ek?
    • Jól van-e az alkalmazásadatbázis? (kapcsolatok, lockok, várakozások, stb.)
    • Amit hasznosnak találunk
  • Hogyan?
    • Célszoftver: felügyeleti rendszer
    • SQL Server Agent job, SQLCMD, perfcounterek
    • PowerShell script
negyedik l p s monitorozzunk m g
Negyedik lépés – monitorozzunk még
  • Olvassunk mindennap – errorlogot
  • Nem árt néha rotálni a logot
    • sp_cycle_errorlog
  • Emeljük meg a megőrzött logfájlok számát (20-30 is elfér)
  • Bármilyen error mehet az errorlogba
    • Deadlock információk
  • Az SQL Agent is ír logot
    • SQLAGENT.OUT
t dik l p s teljes tm ny
Ötödik lépés – teljesítmény
  • Memória, diszk, processzor, hálózat
  • Ha egy dologból kérhetek sokat: RAM
  • Nagy I/O ellen: tömörítsünk*
  • Triviális, de... vírusirtót tiltsuk el

az SQL adatbázisfájloktól, mentési állományoktól

  • Optimalizálás – egyes lekérdezések helyett érdemesebb átfogóan nézni – DMV-k
  • Indexek és statisztikák karbantartása
  • Referenciaadatok gyűjtése (baseline)
telep t s s vid ke i
Telepítés és vidéke I.
  • Hardver
    • 64 bites hardverre 64 bites SQL-t 
  • Instance-ok: Több SQL egy OS-en
    • Szeparált jogosultságok
    • Különböző verziók
    • Különböző collation
    • Memóriát osszuk fel az instance-ok között
telep t s melyik editiont v lasszuk
Telepítés: melyik editiont válasszuk?
  • Enterprise, ha kellenek a következők:
    • online index műveletek, online restore, snapshot, adattömörítés*, backup tömörítés*, tükrözött backup*, tábla particionálás, Resource Governor*, transzparens adatbázis-titkosítás*, finomhangolható audit*, több, mint 16 instance egy gépen, hot-add CPU* és RAM, SSIS advanced transformations, nagyteljesítményű adattárház
    • Nagy teljesítmény és nagy rendelkezésreállás
    • SQL 2005-től lehet upgrade-elni editiont
  • Enterprise > Standard > Workgroup > Web* > Express with Advanced Features > Express

* SQL 2008-tól

ke zdeti konfigur ci
Kezdeti konfiguráció
  • Mindenek előtt: patcheljünk!
  • Hálózati konfiguráció
    • Szerver és kliens oldalon : SQL Server Configuration Manager + cliconfg
    • A kettő között: gondoljunk a tűzfalra is
  • Állítsuk be a model adatbázist
  • Készítsük el a rendszeradatbázisok mentését végző maintenance plant
  • Memórialimit, ha többen vannak a szerveren
v ltozik az alkalmaz s i
Változik az alkalmazás I.
  • Vessük össze a scriptet a feketelistánkkal, pl.
    • Új táblák/oszlopok hozzáadásánál nincs index/foreign key
    • @@IDENTITY – általában a SCOPE_IDENTITY() jobb
      • Ha van naplózó trigger a táblán, akkor becsaphat a @@IDENTITY
    • DROP TABLE/COLUMN/PROCEDURE
    • Többnyelvű környezetben varchar felhasználói adatokra
    • SELECT *, masszív joinok a tárolt eljárásokban
    • (Nem szeretem a sp_ kezdetű felhasználói tárolt eljárásokat)
    • Nincsenek tárolt eljárások
v ltozik az alkalmaz s ii
Változikazalkalmazás II.
  • (még mindig feketelista)
    • Nagy táblán add column not null
      • Egyetlen tranzakcióban update-eli az összes sort, kb. <tábla*2> méretű logot igényelve.
      • Bármiféle konkurrenciának beláthatatlan következményei lehetnek.
    • SQL 2000 replikált táblán add/drop column
      • ALTER TABLE ADD ujoszlop int – nem fog bekerülni a publikációba
      • sp_repladdcolumn , sp_repldropcolumn a megoldás
      • SQL 2005-től transzparens a séma módosítása replikációnál
olvasson n is books online t
Olvasson Ön is Books Online-t!
  • Dokumentáció
  • Áttekintések
  • Architektúra
  • Fejlesztői útmutatások
  • Üzemeltetési leírás
  • Tutorial-ok
  • Keresés
v ltozik az alkalmaz s iii
Változik az alkalmazás III.
  • Nagyméretű tranzakcionális replikált tábla végigmódosítása
    • Még az előző módszerrel is komoly terhelést ró a résztvevőkre (distribution adatbázisba <sorok száma> rekord bekerül, ami lassítja az összes replikációt pár napig)
    • Készítsünk módosító tárolt eljárást, és replikáljuk annak a végrehajtását
v ltozik az alkalmaz s iv
Változik az alkalmazás IV.
  • Az éles adatbázis másolatán a legjobb tesztelni (adatminőség, méret, egyedi problémák) – teszteljük a telepítést is
  • Éles telepítésnél a database snapshot igen hasznos lehet
  • Visszaállás kontra adatvesztés: még több snapshot
    • Készítsünk snapshotot visszaállás előtt is
v ltozik az infrastrukt ra
Változik az infrastruktúra
  • Rendszeradatbázisok mentése
    • SELECT @@VERSION – tudjuk, hogy honnan indulunk
  • Olvassuk el a telepítési leírást
    • Hogyan kell feltenni a patchet
    • Hogyan lehet levenni a patchet
mazsol k i
Mazsolák I.
  • A NOLOCK használata
    • Alkalmazásból inkább NE snapshot
    • Nagyobb módosító scriptek futásának monitorozására tökéletes
  • Mikor shrinkeljünk éles adatbázist?
    • Rendszeresen soha
    • AUTO_SHRINK ellen DMF
  • Élet SQL clusterrel
    • Mindig a cluster menedzsment eszközével állítsuk le a service-eket, ha szükséges
mazsol k ii
Mazsolák II.
  • Jobok, mentések ütemezésénél tervezhetünk karbantartási időt
    • Pl. Mindennap 02:00 és 04:30 között NEM fut semmi – tervezett leállás után nem kell kézzel futtatni a hiányzó feladatokat
  • SSMS 1x1
    • Multiserver query – ugyanaz a lekérdezés több szerveren fut
    • SQLCMD mód – ugyanazzal a scripttel több szerveren ( átkapcsol a script futás közben)
    • Nézzük meg a beállítható opciókat is
mazsol k iii
Mazsolák III.
  • Tranzakció 1x1
    • Kevés adatot mozgató, de kritikus változtatásoknál – UPDATE/DELETE
    • Nézzük vissza a módosítást, mielőtt COMMIT
    • Minél rövidebb ideig tartson
    • Ne tegyük bele a COMMIT-ot (ne futhasson le véletlenül)
    • Figyelem! Tranzakciók egymásba ágyazhatóak
  • BEGIN TRAN
  • BEGIN TRAN
  • UPDATE Cim SET Orszag = NULL
  • COMMIT
  • SELECT @@TRANCOUNT – itt még egy
  • COMMIT – ezután már nulla lesz
tanuljunk az sql servert l
Tanuljunk az SQL Servertől!
  • Nézzük meg a rendszertárolteljárásokdefinícióit
  • Profilerezzük a Management Studiót
traval k
Útravalók
  • Books Online (Shift+F1)
  • Internet is van a világon
    • Technet portál: http://www.microsoft.hu/technet
    • Books Online online
    • SQL 2000 index defragmentation cikk (angol): http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/ss2kidbp.mspx
    • PowerShell (további linkekkel): http://www.microsoft.com/hun/techNet/?article=68a16f06-863f-400b-9963-86ad749ef969
    • Blogok SQL-ről és hasonlókról magyarul: http://soci.hu, http://www.rollback.hu
    • Kedvenc SQL blogom (angol): http://www.sqlskills.com/blogs/paul/
    • Codeplex – open source a nagyon kísérletezőknek (angol): http://www.codeplex.hu
  • Inside SQL könyvek (igazi mélyvíz)