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.

Slides:



Advertisements
Hasonló előadás
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Advertisements

64 bites architektúra, csapdák és átjárók Tóth Sándor Terméktámogatási tanácsadó.
Adatbázis gyakorlat 1. Szerző: Varga Zsuzsanna ELTE-IK (2004) Budapest
© Kozsik Tamás Adatbáziskezelés •Relációs adatbáziskezelők •Noha a Java objektum-elvű, egyelőre nem az objektum-elvű adatbáziskezelőket támogatja.
Adatbázisok SQL. TARTALOM Szijártó M.2 Témakörök  Az SQL tulajdonságai  A műveletek fajtái  Objektum-műveletek  Lekérdezések Tulajdonságok és műveletek.
IT-DEV-CON – IT-DEV-CON Kollár László Fejlesztési platform üzletág igazgató - Microsoft.
Önálló labor beszámoló – 8. félév Nyárády Péter QJA31E
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
1 Informatikai Szakképzési Portál Adatbázis kezelés DCL – Adatvezérlő nyelv.
Delphi programozás alapjai
Adatbázis kezelés. Hierarchikus modell Legrégebbi modell, ma már nem használatos. Az adatokat fákban tároljuk, ahol minden pont a szegmens adatokat, és.
Kinek szól az előadás: Akik már ismerik valamennyire az SSIS-t Akik nem most hallanak először a BI-ról és az adattárházról Az előadás célja A legjobb.
SQL Server 2005 Reporting Services a gyakorlatban
5. GYAKORLAT SQL CREATE TABLE, aktualizálás. S QL Structured Query Language A relációs adatbáziskezelés szabványos nyelve Nem algoritmikus, de beépíthető.
– SQL 2: Adatok kezelése – Tarcsi Ádám, január 30. Adatbázis gyakorlat.
– Adattáblák & adatok kezelése – Tarcsi Ádám január Adatbázis gyakorlat.
megismerése, mintaadatbázis létrehozása
Az ETR technológia DEXTER Informatikai kft..
Triggerek II. ADATBÁZIS ALAPÚ RENDSZEREK.  Az Oracle kifinomult módon támogatja a sorszámozások generálását  Szekvencia: olyan adatbázis-objektum, amely.
4. Gyires Béla Informatikai Nap május 6.1 Márton Ágnes Debreceni Egyetem Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék A Virtual.
Készítette: Sárközi Anikó
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
SQL92 lehetőségek KL A tábla B tábla C view adatok VIEW működése utasítás: SELECT.. FROM A,B … SELECT.. FROM C Az adatok a hivatkozáskor állítódnak elő.
ADATBÁZISOK
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
SQL Server 2005 relációs adattárház technológiák
Failover ClusterDatabase MirroringLog ShippingReplication Scope SQL Server példányadatbázis Adatbázis objektum(ok) Edition.
Compressed backup Policy Based Management (DMF) AuditEncryption Data encryption Key Management PowerShell (Agent Jobokba is berakható) Page Recovery,Miroring.
Monitorozás Általános bevezető Eszközök Kiragadott példák Demó { +néhány gondolat } Hangolás.
Oktassunk adatbázis-kezelést! Micskei Zoltán Microsoft Referencia Iskola.
Adatbázis-kezelés Papp-Varga Zsuzsanna. Elérhetőségek    as.
Module 1: A Microsoft Windows XP Professional telepítése
SQL Server 2014 CTP2 újdonságok
SQL 2012 TKOC Magas Rendelkezésreállás II. Király István Microsoft Certified Trainer Microsoft Certified Systems Engineer.
Windows Server 2012 Kiadások, licencelés, lehetőségek
Demo/teszt környezetek Szerver konszolidáció Adatközpontok alapja.
Microsoft BI technológiák az eszközmenedzsment szolgálatában
Magas Rendelkezésreállás I.
DML. Új rekord beszúrása: INSERT INTO tábla (oszlop1,oszlop2,…) VALUES (érték1,érték2,…); Rekord módosítása: UPDATE tábla SET oszlop = érték WHERE feltétel;
DDL – Adatdefiníciós nyelv
Adattáblák létrehozása, módosítása, tranzakciók, megszorítások Rózsa Győző.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele a minimum elégséges érdemjegynek!
Adatbázis-kezelés SQL-lel
Felhasználók és jogosultságok
SQL DDL DATA DEFINITION LANGUAGE. Táblák létrehozása CREATE TABLE táblanév ( oszlopnév1 típus(méret) /DEFAULT érték/ /NOT NULL/, oszlopnév2 típus(méret)
Készítette: Tóth Ervin
Gábor Dénes Főiskola Rendszertechnikai Intézet
SQL-Structured Query Language. Parancs(utasítás) csoportok CREATE - táblák létrehozása ALTER – táblák módosítása DROP – táblák törlése DDL –Data Definition.
SQL.
1 Verseny 2000 gyakorlat ODBC Adatforrás létrehozása.
MSSQL szerver 2005/2008.
XML fejlesztések TSQL fejlesztések Tábla paraméter SQLCLR fejlesztések 8k limit feloldása Több paraméteres UDA-ek Ordered UDF-ek Entity Framework ADO.NET.
ORACLE ORDBMS adminisztrációs feladatok 3. rész dr. Kovács László 2004.
Adatbázis-kezelés Tarcsi Ádám január. 15. MySQL és PHP.
Tarcsi Ádám, Adatbázis gyakorlat – Adattáblák – Tarcsi Ádám, január.
Eszköz és identitás kezelés Korlátlan fájl szerver kapacitás Másodlagos adatközpont Korlátlanul skálázódó infrastruktúra Biztonságos DMZ Hibrid adat-
Ma az un. Relációs adatmodelleket használjuk.
Automatizálási folyamatok az SQL 2012-ben
Szerver és kliens gép közötti kommunikáció Adattárolási modellek  OLTP: OnLine Transaction Processing az MSSQL Szervert egy időben egyszerre sok felhasználó.
5. gyakorlat Fleiner Rita.
Webprogramozó tanfolyam
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
1 Verseny 2000 gyakorlat SQL 2000 Server Portál adatbázis létrehozása.
SQL Server 7 installálása. A szükséges hardver és szoftver Processzor Memória Háttértár OS Hálózat Kliensek.
Gráfadatbázisok Rácz Gábor.
DR+HA+B/R+Azure Gál Tamás Datacenter Technical Specialist
Alapszolgáltatások A fájlszerver – milyen tárolókon?
Logisztikai projekt - gyakorlat Adatbázis-elmélet
Hangyál Zoltán Principal Engineer LogMeIn
Előadás másolata:

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

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

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

Mit és hogyan mentek?

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

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

Monitorozás alacsony költségvetéssel

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)

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

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

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

Egy új szerver

Vessük össze a scriptet a feketelistánkkal, pl. Új táblák/oszlopok hozzáadásánál nincs index/foreign key – általában a SCOPE_IDENTITY() jobb Ha van naplózó trigger a táblán, akkor becsaphat a 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

(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

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

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

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

Rendszeradatbázisok mentése SELECT – tudjuk, hogy honnan indulunk Olvassuk el a telepítési leírást Hogyan kell feltenni a patchet Hogyan lehet levenni a patchet

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

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

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

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

Mazsolák

Books Online (Shift+F1) Internet is van a világon Technet portál: Books Online online SQL 2000 index defragmentation cikk (angol): PowerShell (további linkekkel): Blogok SQL-ről és hasonlókról magyarul: Kedvenc SQL blogom (angol): Codeplex – open source a nagyon kísérletezőknek (angol): Inside SQL könyvek (igazi mélyvíz)