+ All Categories
Home > Documents > Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL...

Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL...

Date post: 11-Oct-2020
Category:
Upload: others
View: 10 times
Download: 0 times
Share this document with a friend
30
Backup & recovery, SQL Server Agent, Alerts Jiří Tomeš Administrace MS SQL Serveru (NDBI039)
Transcript
Page 1: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Backup & recovery, SQL Server Agent, AlertsJiří

Tomeš

Administrace MS SQL Serveru(NDBI039)

Page 2: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

O čem to dnes bude

Úvodní

motivace

Strategie zálohování

Typy zálohování

Modely pro obnovení

Zálohovací

zařízení

Automatická

záloha

SQL Server Agent

Alerts

Použité

prameny a zdroje

Prostor pro dotazy

Page 3: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Úvodní

motivaceSmysl zálohování

databází

:

Je třeba umět s daty nejen pracovat, ale také

se o ně

i

starat

Zálohováním se zmenšují

transakční

logy

Podíváme se, jaké

možnosti zálohování a obnovy nabízí

SQL server !!!

Může se totiž

stát, že o ně

můžeme nenávratně

přijít

(např. odejde disk, …)

Zálohovaná

data můžeme v případě

havárie obnovit

Page 4: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

O zálohovacích strategiích

Obsahuje záložní

a obnovovací

část

Definuje se typ, četnost záloh, povaha a rychlost hardwaru

Definuje, jak se mají

zálohy testovat

a na jaká

media se mají

ukládat

Zálohu

je nutné

si „vyzkoušet“

Kdo je zodpovědný za provádění

a jak ho provést s minimalizací

ztráty dat

Doporučené

je používání

dokumentace a komentářů

Strategie týkající

se zálohování

:

Page 5: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Poté, co jsme si vybrali vhodný model, je třeba danou strategii realizovat.

Vybíráme vhodnou strategii

Abychom dosáhli optima, je třeba zvážit :

Jak často přistupujeme

k databázím

Jak často je měníme

a aktualizujeme

Kolik potřebného místa na zálohu

budeme

potřebovat

sp_spaceused

http://msdn.microsoft.com/en-us/library/ms188776.aspx

Vybrat si správný typ zálohy

(ruční

rozhodně

NE)

Page 6: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Úplná

záloha

(FULL)

Záloha kompletní

databáze

Rozdílová

záloha

(DIFFERENCIAL)

Záloha změn po provedení

úplné

zálohy dat

Záloha transakčního logu

(TRANSACTION LOG)

Lze provést i v případě, že není

k dispozici soubor s daty

Např. při selhání

disku

Záloha souborů

a skupin

(FILES & FILEGROUPS)

Zálohujeme vybrané

soubory nebo celé

skupiny

Typy zálohováníSQL server rozlišuje následující

typy:

Offline data není

možné

zálohovat !!!

Page 7: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Modely obnoveníZákladní

typy modelů

pro SQL server:

Bulk

Logged

model

obsahuje všechny informace jako „FULL“, ale ve zjednodušené

podobě

obnovení

dat vždy jen na konci zálohy

(nepodporuje

libovolný časový bod)

Simple

Recovery

model

stejný jako „BULK“, pouze jiné

chování

v kontrolních

bodech (CHECKPOINTS)

Full

Recovery

model

Kompletní

ochrana proti selhání

Možnost obnovení

dat až

do nějakého

časového okamžiku

(k bodu selhání)

V případě

obnovení

z transakčního logu

je třeba, aby byl neporušený

Page 8: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Obnovení

do časového okamžiku

Page 9: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Jak zjistit / nastavit model

Přes

SQL server Management StudioDatabases

-> User (System) database ->

Properties -> Database properties -> Options -> Recovery model list box

SELECT name, recovery_model_descFROM sys.databasesWHERE name

=

‘model’

;

GO

Pomocí

dotazu (Transact

–SQL)

ALTER DATABASE nazev_dbSET RECOVERY FULL | BULK_LOGGED | SIMPLE ;

Nastavení modelu

Zjištění modelu

Page 10: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FULL backup

záloha 1/2

Simple

Recovery

model

bere v úvahu potenciální

pracovní

ztráty

v

případě

havárie

každá

aktualizace = zvýšení

ztráty

záloha

= ztráty se vynulují

BACKUP DATABASE [db_name]

TO DISK=‘c:\zaloha.bak’ WITH FORMAT;

GO

TSQL příkaz

Page 11: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FULL backup

záloha 2/2

FULL & Bulk-logged Recovery

model

Záloha transakčního logu

je zde též

potřebná

BACKUP DATABASE | LOG [db_name]

TO DISK=‘c:\zaloha.bak’WITH FORMAT;GO

TSQL příkaz

Page 12: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FULL B&R pomocí

SSMS 1/3

Záloha

database -> kontextové

menu -> task

->

backup

jméno (povinně) + popis (volitelně)

Obnova database

-> restore database

1) Zvolíme

zdroj (FROM device)2)

Procházet -> vyberu soubor

se zálohou

3) Jméno nové

databáze

(TO database) 4) Zvolíme vybranou zálohu, co bude obnovena

Page 13: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FULL B&R pomocí

SSMS 2/3

Záloha (backup)

Page 14: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FULL B&R pomocí

SSMS 3/3

Obnova (recovery,

restore)

Page 15: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

DIFFERENCIAL backup

Zaznamenávají

se pouze změněná

data

od

vytvoření

plné

zálohy

(je to rychlejší

než

plná

záloha)

Pro obnovení

rozdílné

zálohy je třeba mít obnovený

i

její

příslušný základ

Hodí

se, je-li podmnožina databáze upravována

častěji než

zbytek (spotřeba menší

režie)

Její

použití

může snížit počet zálohování

logu, které

bude potřeba obnovit

Zachycují

stav všech rozsahů

(kolekce 8 fyzicky

souvislých stránek)

Page 16: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

TRANSACTION LOG

backup

Pouze pro FULL

nebo BULK-LOGGED Recovery

model

Je potřeba mít před tím vytvořenou alespoň

1 plnou zálohu

Doporučená

je zejména častá

zálohaMnohem kratší

log

Minimalizace možných ztrát

Optimální

interval

zálohy závisí

především na

Velikost databáze

Význam dat

Zatížení

serveru

Page 17: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

FILE & FILEGROUP backup

Cílem

je zajistit zálohu 1 nebo více souborů

bez zálohy celé

databáze

Pro SIMPLE recovery

model

se to týká

pouze

READ-ONLY souborů

Základní

typy obnovení:

OFFLINE

(podpora u SQL 2012)

Databáze musí

být v době

obnovení

OFFLINE, pak

je provede obnovení

a může být znovu ONLINE

ONLINE

Je-li databáze ONLINE

v době

obnovení, v době

zpracování

souborů

(skupin) je daná

instance OFFLINE

a hned po jejich dokončení

znovu ONLINE

Page 18: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Scénář

(pro SIMPLE model) :

FILE & FILEGROUP recovery

Obnovit každý

poškozený soubor

z jeho poslední

zálohy

Obnovit poslední

relevantní

DIFFERENCIAL backup

pro každý obnovený soubor

a

obnovit celou databáziRESTORE DATABASE name, name1, ...FILE

=

filename,finaname1, …

FROM backup_of_file_and_file1_and_…

WITH (NO)RECOVERY;

RECOVERY =

jiné

zálohací zařízení

Page 19: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Je to vlastně

soubor, kam lze zálohy ukládat

SP_ADDUMPDEVICE

Zálohovací

zařízení

sp_addumpdevice

[@devtype=]

‘device_type’--možné

hodnoty

DISK

(pevný disk) PIPE

(roura v síťovém prostředí)

TAPE

(magnetická

páska)[@logicalname

=]

‘logical_name’

--název

zálohovacího zařízení[@physicalname=]

‘physical_name’

--fyzická

cesta k souboru, kam se bude ukládat

Příklad:

sp_addumpdevice

‘DISK’ , ‘test_dev’, ‘c:\test.bak’

Page 20: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Použijeme plánovač

úloh Windows

pro spouštění

skriptu se zálohou

Skript s příponou .cmd

vyvolá

vytvoření

zálohy

Vytvoření

zálohy provedeme pomocí

nástroje

SQLCMD

ProgramFiles\Microsoft SQL server\verze\Tools\Binn\SQLCMD.exe

Automatická

záloha

ProgramFiles\..\SQLSCMD.exe

–U jmeno

–P heslo

–q “BACKUP DATABASE [db_name]

TO

DISK=‘c:\zaloha.bak’

WITH NAME= N ‘jmeno’”

90 pro SQL Server 2005

100 pro SQL Server 2008

Page 21: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

SQL Server Agent

Je služba systému Windows

pro

vykonávání

naplánovaných administrativních úloh

(„JOBS“)

Používá

SQL server

pro ukládání informací

k úloze

1 JOBS= jeden či více JOB kroků

1 JOB KROK= vlastní

task

(např. záloha

databáze)

Puštění

je buď

v reakci na nějakou událost

nebo na požádání

V případě, že nastane nějaká

problém

upozorní

nás

(zaznamená

událost)

Page 22: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Komponenty SQL Server Agenta

JOBS

Sada akcí, které

SQL server vykoná

Lze spustit 1 i vícekrát, podle 1 či více plánů, jako reakce na 1 či více záznamů. sledovat úspěch / neúspěch,…

Úloha může běžet na 1 lokálním serveru

nebo na více vzdálených serverech

Pro spuštění

lze též

zavolat proceduru sp_start_job

Každý JOB krok má

svůj kontext zabezpečení

SCHEDULES

Určuje, kdy job

běží

1 či více jobů

může běžet na stejném plánovači

Plánovač

může definovat podmínky

Kdykoliv se SQL server Agent spustí

Jednou v určitý den a čas

Při opakujícím se plánu

Využití

CPU

počítače je definováno jako „nečinné“

Page 23: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Další

komponenty SQL SA

ALLERTS

Ještě

o nich bude řeč

OPERATORS

Definují

kontaktní

informace pro zodpovědnost

za udržování

1 nebo více instancí

SQL Serveru

Operátor nemá

informace

o bezpečnosti

a ani o

možných principech zabezpečení

SQL Server může upozornit operátory například prostřednictvím

Emailu

Pageru (pomocí

služby emailu)

NET SENDu

Page 24: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Server Agent a bezpečnostSQL Agent používá

k řížení

přístupu mimo

sysadmin

tyto ROLE:

SQLAgentUserRole

SQLAgentReaderRole

SQLAgentOperatorRole

Subsystémy (pro zajištění

bezpečnosti) :Předdefinovaný objekt (funkce) zodpovědný za

JOB krokProxy server má

přístup k 1 či více

subsystémům

Všichni mají přístup k Server

Agentovi

Page 25: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Server Agent a SSMS

Jak se k němu dostanemeObject

Explorer -> SQL Server Agent

Page 26: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Alerts

Definování

alertu

:Jméno

alertu

(nejvýše 128 znaků)

Událost nebo podmínka, která

alert

spustíAkce, které

při shodě

provede SQL Server

Agent

Události generované

SQL serverem vstupující

do logu Windows aplikace

SQL Server Agent

přečte aplikační

log a srovná

tyto události s těmi, které

již

definovaly alerty

Když

agent najde shodu

odstraní

daný alert

(zodpovědný za událost)

Page 27: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Alerts

typy událostí

SQL Server Events

Error

number

(dojde k konkrétní

chybě-má

číslo)

Severity

level

(upozornění

pro danou chybu)

Database

(nastane-li v konkrétní

databázi)

Event

text

(událost obsahuje konkrétní

řetezec)

SQL Server performance conditions

Object

(sledovaná

oblast výkonu)

Counter

(atribut monitorované

oblasti)

Instance

(monitorované

instance SQL serveru)

Windows Management Introduction

events (WMI)

Namespace

Query

Page 28: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Závěrečné

shrnutí

Existuje i celá

řada dalších typů

zálohy,

které

se od uvedených liší

jen velmi nepatrně

– třeba jen parametrem (např.

READ-ONLY backup)

Zálohovat má

vždy smysl, ale stojí

nás i

určitou režii

Nutno vždy počítat s tím, že kdykoliv

může

dojít k nějakému neočekávanému chování

či katastrofě

Je vždycky dobré

znát vlastnosti a

přesné

možnosti

konkrétního serveru (podle používané

verze)

Page 29: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Použité

zdroje a prameny

BACKUP & RECOVERY

http://msdn.microsoft.com/en- us/library/ms187048.aspx

http://www.dbsvet.cz/view.php?cisloclanku=200504 1801

http://www.sqlteam.com/article/backup-and-restore- in-sql-server-full-backups

http://www.sqlservervideos.com/player/backups- with-managementstudio/

SQL Server Agent

http://msdn.microsoft.com/en-us/library/ms189237(v=sql.105).aspx

http://learnsqlwithbru.com/2011/12/15/start-sql-server-agent-from-sql- server-management-studio/

Alerts

http://msdn.microsoft.com/en-us/library/ms180982.aspx

Page 30: Backup recovery, SQL Server Agent, Alertssiret.ms.mff.cuni.cz/sites/default/files/doc/david...SQL Server Agent Alerts Použité prameny a zdroje Prostor pro dotazy Úvodní motivace

Zeptejte se na to, co Vás zajímá

Prostor pro dotazy

DÍKY za pozornost během prezentace


Recommended