automatizálási folyamatok az sql 2012-ben

28
SQL 2012 TKOC Automatizálási folyamatok az SQL 2012-ben Király István Microsoft Certified Trainer Microsoft Certified Systems Engineer

Upload: makelina-justin

Post on 30-Dec-2015

26 views

Category:

Documents


0 download

DESCRIPTION

SQL 2012 TKOC. Automatizálási folyamatok az SQL 2012-ben. Király István Microsoft Certified Trainer Microsoft Certified Systems Engineer. Bevezetés - Tartalom Miről lesz szó a mai napon?. SQL Server Agent SQL JOB SQL Credentials , Proxy SQL Server Agent Security. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Automatizálási folyamatok az SQL 2012-ben

SQL 2012 TKOC

Automatizálási folyamatok az SQL 2012-ben

Király IstvánMicrosoft Certified TrainerMicrosoft Certified Systems Engineer

Page 2: Automatizálási folyamatok az SQL 2012-ben

Bevezetés - TartalomMiről lesz szó a mai napon?

SQL Server AgentSQL JOBSQL Credentials, ProxySQL Server Agent Security

Page 3: Automatizálási folyamatok az SQL 2012-ben

Automatizálás előnyei

• Feladatok csökkentése

• Csökkenő kockázat, nincs elmaradt feladat

• „Human Error” megszűnik

• Proaktív Management

Page 4: Automatizálási folyamatok az SQL 2012-ben

Automatizálási lehetőségek

JOB – Rendszeres feladatok végrehajtásaALERT – Figyelmeztetések, reagálás eseményekreOPERATOR – akiket értesítünk

Page 5: Automatizálási folyamatok az SQL 2012-ben

SQL Server Agent áttekintés

Windows service-ként futFutnia kell, hogy:• Job-okat tudjunk futtatni• Alert-eket tudjunk konfigurálni• Operátorokat tudjunk konfigurálni

Automatikus indulás beállítása a célszerű

Az SQL Server Agent komponens felelős az automatizálási folyamatokért, feladatokértAz SQL Server Agent komponens felelős az automatizálási folyamatokért, feladatokért

Page 6: Automatizálási folyamatok az SQL 2012-ben

demo SQL Server Agent beállítása

Page 7: Automatizálási folyamatok az SQL 2012-ben

Hogyan definiálható az SQL Server Agent Job?

• Egy Job tartalmazhat:

• Transact-SQL parancsot

• CMD parancsot, vagy futtatható alkalmazást

• PowerShell script-et, Integration Services Package

• Job futhat:

• Egyszer, többször, ütemezve

• Automatikusan vagy kézzel futtatva

• A Jobok kategóriákba rendezhetők

• SSMS vagy sp_add_job tárolt eljárás segítségével

SQL Server Agent Job olyan feladat vagy feladatok sorozata, melyeket rendszeresen/gyakran végrehajtunk az SQL Server Agent segítségévelSQL Server Agent Job olyan feladat vagy feladatok sorozata, melyeket rendszeresen/gyakran végrehajtunk az SQL Server Agent segítségével

Page 8: Automatizálási folyamatok az SQL 2012-ben

Creating Job Steps (sp_add_jobstep)

Fail?Yes

No

Write to Application LogWrite to Application Log

Fail the jobFail the job

Job step 1: Back up Database (Transact-SQL)Job step 1: Back up Database (Transact-SQL)

Job step 2: Transfer Data (CmdExec)Job step 2: Transfer Data (CmdExec)

Job step 3: Custom Application (PowerShell)Job step 3: Custom Application (PowerShell)

Yes

Yes

Job succeeded

Notify operator

Job succeeded

Notify operator

No

No

Fail?

Fail?

Notify operator Notify operator

Page 9: Automatizálási folyamatok az SQL 2012-ben

Jobok ütemezéseJob: Backup Transaction LogJob: Backup Transaction Log

Schedule: Mon-Sun Shift 1

Every 1 HoursFrom: 8:00 A.M.To: 5:00 P.M.

Every 1 HoursFrom: 8:00 A.M.To: 5:00 P.M.

Daily ScheduleDaily Schedule

Schedule: Mon-Sun Shift 2

Every 4 HoursFrom: 5:01 P.M.To: 7:59 A.M.

Every 4 HoursFrom: 5:01 P.M.To: 7:59 A.M.

Daily ScheduleDaily Schedule• Job futtatása több ütemben (lsd példa)• 1 job-ból 1 példány futhat egy időben (más job

futhat!)

• Job futtatása több ütemben (lsd példa)• 1 job-ból 1 példány futhat egy időben (más job

futhat!)

Page 10: Automatizálási folyamatok az SQL 2012-ben

Scripting JobsJobok scriptelhetők pl.: dokumentáció, vagy más szerverre/instance-ra másolás/költöztetés miatt

Page 11: Automatizálási folyamatok az SQL 2012-ben

Kik az Operátorok?

• Emberek vagy csoportok akiket értesíteni kell, lehet Feladatokról, feladat részekről, vagy problémákról

• Értesíthetőek email-ben, vagy net send-el (msg.exe)

• Sp_add_operator (sysoperators table in msdb database)

Page 12: Automatizálási folyamatok az SQL 2012-ben

demo Job készítése

SSMS-elScript készítése

Page 13: Automatizálási folyamatok az SQL 2012-ben

Job History

• SQL Server Agent feladat információi az msdb adatbázisban tárolódnak

• Az információk lekérhetők direktben vagy SSMS segítségével

• Job Activity monitor élő állapotot mutat a Jobokról

• A historikus adatok tárolódhatnak az idő vagy a méret függvényében is

Page 14: Automatizálási folyamatok az SQL 2012-ben

HibakeresésHa az SQL Server Agent nem fut• Service beállítások átnézése• Msdb adatbázis-sal minden OK?

Job history átnézése• Mely lépés nem futott le?• Miért nem futott le az adott step?

Ha a job nem indul:• Státusza ‚enabled’?• Ütemezés rendben?• Ütemezés engedélyezve van?

Függőségek ellenőrzése:• A job-ban használt objektumok elérhetők?• Jogosultság ellenőrzése

Page 15: Automatizálási folyamatok az SQL 2012-ben

SQL Server Agent Security

Hálózati jogosultság• Local Service (kompatibilitás) és Network Service• Windows domain user használata az ajánlottHozzáférése kell legyen:• SQL Server instance –hoz T-SQL parancsok

futtatásához• Windows és hálózati hozzáférés egyéb műveletek

végrehajtásáhozProxy Accounts használata ajánlott

Minden JOB a megfelelő biztonsági környezetben fut?

Page 16: Automatizálási folyamatok az SQL 2012-ben

Credential

• Hozzáférés külső erőforrásokhoz• Titkosított jelszómentés• SQL server login „felruházása” windows auth

információkkal• Proxy Account felruházása hitelesítési adatokkal• SQL Server is hoz létre(##)

Olyan SQL Server objektum, mely authentikációs információkat tartalmaz.

Page 17: Automatizálási folyamatok az SQL 2012-ben

Proxy Accounts

• SSMS vagy dbo.sp_add_proxy procedurein msdb

Job Step Proxy Credential Resource

A credentials-t proxy accountként használhatjuk a jobokban. Ha sz SQL Agent account-nak nincs elég jogosultsága

Page 18: Automatizálási folyamatok az SQL 2012-ben

demo Proxy Account készítése

CMD_exec hibakeresésPorxy Account és Credentials használata

Page 19: Automatizálási folyamatok az SQL 2012-ben

Database Mail szolgáltatás áttekintése

• Egyszerű beállítás: Database Mail Configuration Wizard• Különböző profilok beállításának lehetősége• Sp_send_dbmail segítségével• Kiváltja az SQL Mail szolgáltatást

• SQL Server Agent mail:• Figyelmeztetések és értesítések küldése• Az SQL Server Agent account részére is létre kell hoznunk egy profilt

Az SMTP protokoll implementációja, mely lehetővé teszi, hogy az adatbázis komponensek leveleket tudjanak küldeni. SMTP szerver szükséges hozzá!

Page 20: Automatizálási folyamatok az SQL 2012-ben

Database Mail Profilok

• Egy vagy több e-mail profil létrehozása• Profilonként eltérő beállítások megadásának lehetősége• Megbízhatóság növelése több profil segítségével

• Ha nem határozzuk meg, hogy mely profilból küldünk levelet, akkor a Default Profile lesz használatban

Profile Type Description

PrivateA hozzárendelt felhasználók vagy szerepkörök használhatják. Az alapértelmezett private profil elsőbbséget élvez az alapértelmezett publikus profillal szemben.

Public Minden user és role használhatja megfelelő jogosultság esetén (DatabaseMailUserRole)

Page 21: Automatizálási folyamatok az SQL 2012-ben

Database Mail Security

Database mail:• Külön processz futtatja (ne local system legyen az SQL

server account, nem fog hozzáférni az smtp szerverhez )

• Alapból tiltva (sp_configure Databse Mail XPs 1)• Csak a DatabaseMailUserRole tagjai küldhetnek levelet

(a sysadmin csoport már tagja)• Szabályozható csatolmány kiterjesztés és méret

Page 22: Automatizálási folyamatok az SQL 2012-ben

demo Database Mail

Config Database Mail & SQL Agent MailAdd operator, send mail

Page 23: Automatizálási folyamatok az SQL 2012-ben

Figyelmeztetések kezeléseAz adatbázis engine által jelzett hibák tulajdonságai

Attribute Description

Error number Minden hibabejegyzés rendelkezik vele

Error Message String típusú leírás a hibáról

Severity A hiba súlyossága

State A hiba állapota

Procedure Name A tárolt eljárás vagy trigger neve ami okozhatta a hibát (ha van ilyen)

Line Number A hiba bekövetkeztének helye (az adaott sor sorszáma)

Page 24: Automatizálási folyamatok az SQL 2012-ben

Error SeverityA hiba súlyosságát jelző számok jelentése

Error Number Range Description

0 to 9 Informational messages

10 Információs üzenetek állapotát visszaadó információ vagy jelentés, nem súlyos hibák

11 to 16 Hibák, mely felhasználói beavatkozással korrigálhatók (pl. dedlock: 13, szintaktikai hiba: 15)

17 to 19 Közvetlen felhasználói beavatkozással nem javítható hibák (memória, diszk stb)

20 to 24 Súlyos hibák

25 SQL Server service-t érintő súlyos hiba

Page 25: Automatizálási folyamatok az SQL 2012-ben

SQL Server Error Log konfigurálása

• A súlyos hibák az alkalmazás és az SQL Server logban is megjelennek• sp_altermessage tárolt eljárással konfigurálható

• Minden instance újraindulás után keletkezik egy új errorlog• Alapértelmezetten 6 log fájlunk lesz• sp_cycle_errorlog tárolt eljárással bármikor nyithatunk új

logfilét

Page 26: Automatizálási folyamatok az SQL 2012-ben

SQL Server Error Log konfigurálása

Logok alapértelmezett helye:Program Files\Microsoft SQL Server\MSSQL11.<Instance>\MSSQL\LOG\ERRORLOG

6db, de módosítható:SQL Server Management StudioREG: [HKLM\Software\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs]

Logok helye hogyan állapítható meg?SQL Server Config Manager startup parameter (-e)

Page 27: Automatizálási folyamatok az SQL 2012-ben

demo SQL Server Error Log

Page 28: Automatizálási folyamatok az SQL 2012-ben