Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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.

Hasonló előadás


Az előadások a következő témára: "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."— Előadás másolata:

1

2 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ésMazsolázás

3 SELECT database_name, [type], max(backup_start_date) last_backup FROM backupset GROUP BY database_name, [type] ORDER BY database_name, [type] SELECT database_name, [type], max(backup_start_date) last_backup FROM backupset GROUP BY database_name, [type] ORDER BY database_name, [type] Miért mentsünk?Az adatbázis az üzleti alkalmazás leggyorsabban változó része Mit mentsünk?Mindent: az összes adatbázist (kivéve tempdb), ha kell, logot is Hogyan mentsünk?Gyorsan: ad-hoc backup Szépen: Maintenance Plan-ek Hova mentsünk?NE AZ ADATBÁZISOK MELLÉ – külön gép/diszk

4 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

5 Mit és hogyan mentek?

6 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

7 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

8 Monitorozás alacsony költségvetéssel

9 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)

10 Hardver 64 bites hardverre 64 bites SQL-t 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

11 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

12

13 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

14 Egy új szerver

15 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

16 (még mindig feketelista) Nagy táblán add column not null Egyetlen tranzakcióban update-eli az összes sort, kb. 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

17 DokumentációÁttekintésekArchitektúra Fejlesztői útmutatások Üzemeltetési leírás Tutorial-okKeresés

18 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 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

19 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

20 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

21 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

22 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

23 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 UPDATE Cim SET Orszag = NULL COMMIT SELECT @@TRANCOUNT – itt még egy COMMIT – ezután már nulla lesz BEGIN TRAN UPDATE Cim SET Orszag = NULL COMMIT SELECT @@TRANCOUNT – itt még egy COMMIT – ezután már nulla lesz

24 Nézzük meg a rendszer tárolt eljárások definícióit Profilerezzük a Management Studiót

25 Mazsolák

26 Books Online (Shift+F1) Internet is van a világon Technet portál: http://www.microsoft.hu/technet 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 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 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 http://soci.hu http://www.rollback.huhttp://soci.hu http://www.rollback.hu Kedvenc SQL blogom (angol): http://www.sqlskills.com/blogs/paul/ http://www.sqlskills.com/blogs/paul/ Codeplex – open source a nagyon kísérletezőknek (angol): http://www.codeplex.hu http://www.codeplex.hu Inside SQL könyvek (igazi mélyvíz)

27


Letölteni ppt "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."

Hasonló előadás


Google Hirdetések