SQL Server a vysoká dostupnost – II.

AlwaysOn

V dnešním díle seriálu o vysoké dostupnosti SQL Serveru se podíváme detailněji na zcela novou funkci AlwaysOn. AlwaysOn je dostupná od verze SQL Server 2012. Pomocí AlwaysOn jsme schopni zajistit vysokou dostupnost databází mezi několika servery. AlwaysOn dovoluje konfigurovat dostupnost nad skupinou vybraných databází, což je pro dnešní systémy velká výhoda. Dnešní SW zdaleka nespoléhá pouze na jednu databází, a díky AlwaysOn nemusíme konfigurovat dostupnost pro každou databází jednotlivě.

ag01

Pro konfiguraci AlwaysOn musí databáze splňovat několik podmínek, mezi které patří např.

Continue reading

SQL Server a vysoká dostupnost – I.

Vysoká dostupnost a Disaster Recovery (HA a DR) jsou u mnoha produktů často zaměňovány a často nesprávně požadovány při nasazení jednotlivých funkcí systému. Zatímco vysoká dostupnost se spíše zaměřuje na výpadky systému a služby, Disaster Recovery je využitá v mnohem širším spektru problémů. V případě využití SQL Server se mezi HA možnosti, které jsou nabízeny, řadí

  • Database Mirroring
  • Log Shipping
  • Failover Clustering
  • Replikace
  • AlwaysOn (od verze 2012)

Jednotlivé technologie pro vysokou dostupnost a jejich možnosti jsou odlišné v závislosti na použité edici SQL Serveru, zejména pro AlwaysOn je nutná edice Enterprise.

Continue reading

Vliv Instant File Initialization na výkon SQL Serveru

SQL Server pokud je správně nastaven dokáže použít „Instant File Initialization (dále jen IFI) pro optimalizaci práce s diskovým systémem. Každá databáze SQL Serveru je tvořena minimálně dvěma soubory – souborem datovým (přípona mdf, master data file) a souborem pro transakční log (ldf, log data file). Při vytváření obou souborů je za výchozího nastavení nutné provést „nulování“ souboru, tj. nastavení jednotlivých bitů na hodnotu 0 pro celou velikost souboru. K těmto operacím dochází pří použití příkazů CREATE DATABASE, ALTER DATABASE (týká-li se IO), RESTORE DATABASE a v případě autogrow operací (každý soubor může být nastaven na autogrow v procentuelní velikosti, nebo v pevné velikosti přírůstku). Zejména v případě autogrow a restore je nutnost čekat na nulování souboru zdlouhavá a zbytečná (vezměme v úvahu případ obnovy databáze o velikosti 200GB, poté čekáme na zapsání nulových hodnot, než proběhne samotná obnova databáze i několik desítek minut). Celé nulování provádí samotný SQL Server, a ne NTFS filesystém.

Continue reading

Contained database a její využití na SQL Serveru 2012

SQL Server 2012 přináší mnoho novinek v oblasti administrace, vývoje i business intelligence. Pro administrátory je určitě zajímavá nová technologie pro vysokou dostupnost AlwaysOn i mnohé možnosti pro zabezpečení SQL Serveru 2012. Na pomezí těchto dvou oblastí stojí contained databáze. Jedná se o databázi vytvořenou na SQL Serveru 2012, která je však izolovaná od instance a na této instanci závislá méně, než jiné běžné databáze. V aktuální verzi je k dispozici jeden containment model a to partial.

sqlContDb01

Mezi základní výhody contained databáze patří

  • Snadná přenositelnost mezi servery při migraci
  • Jednoduché nastavení AlwaysOn pro dostupnost databáze
  • Vývoj db nezávislý na instanci SQL Serveru

Continue reading

Využití PowerPivot

PowerPivot je doplněk do aplikace Excel 2010, který uživatelům otvírá cestu do světa Self-Business Intelligence. Přístup Self-Business Intelligence dovoluje koncovým uživatelům jednoduše a rychle vstoupit do světa BI bez velkých znalostí. Mezi hlavní přínosy Self-BI patří:

  • Koncoví uživatelé si tvoří své vlastní BI aplikace pomocí nástrojů, které již znají (tedy Excel 2010)
  • Tyto jednotlivé aplikace se dají lehce a rychle upravovat bez velkých znalostí BI a vývoje
  • Vše se dá sdílet např. pomocí SharePoint 2010 a tedy i spravovat jako jakýkoli jiný obsah (využití, bezpečnost, verzování, upozornění na změny)
  • Analýzy mohou být obnovovány automaticky, a reflektovat změny zdrojových dat

Microsoft dodává PowerPivot ve dvou různých provedeních, jednak jako doplněk pro Excel 2010 (tj. PowerPivot for Excel) nebo také jako PowerPivot pro SharePoint, který rozšiřuje možnosti serveru SharePoint 2010 pro publikování a práci s aplikacemi vytvořenými pomocí PowerPivot. Samotné PowerPivot aplikace vypadají jako obyčejný sešit Excel, ale navíc obsahují metadata a data PowerPivot. Veškerá data jsou ukládána s vysokou kompresí a jsou uložena jako součást sešitu Excel. Proti samotné aplikaci Excel otevírá uživateli PowerPivot cestu k víceru datovým zdrojům, pokročilejším filtrům pomocí DAX, přístupu na data offline a v neposlední řadě také možnost pracovat s větším množstvím informací než v samotné aplikace Excel 2010.

02 PowerPivot 09

Continue reading

Práce s recovery modely na SQL Serveru

SQL Server ukládá veškeré informace do dvou typů souborů. Každá databáze je tvořena datovým souborem a souborem pro uložení transakčního logu. Každá databáze na SQL Serveru má ve svých vlastnostech nastaven tzv. režim logování (Recovery Model). Celkem máme k dispozici 3 režimy, které ovlivňují styl práce s transakčním logem a také mění nároky na Disaster Recovery procesy.

sqlrecovery01

V případě manipulace s daty je třeba, aby veškerá data potřebná pro danou operaci byla nejprve načtena do tzv. data bufferu. Následně v bufferu SQL Server uzamkne v několika krocích data, tak, aby zajistil, že uživatel nemůže data, která se právě mění, číst. Toto chování je ovlivnitelné pomocí několika režimů pro izolace transakcí, případně je ovlivnitelné pomocí tzv. hints v rámci dotazů. Po uzamčení veškerých dat může SQL Server provést např. změnu požadovaných dat a zároveň s touto změnou jsou veškeré údaje uloženy do transakčního logu.

Continue reading

Šifrování dat na SQL Serveru

Zabezpečení dat na SQL serveru se dá uchopit mnoha různými způsoby. Ve verzi SQL Server 2008 Enterprise byla představena nová možnost ochrany dat, označována jako Transparent Data Encryption. Styl práce TDE je poněkud odlišný od tradičního šifrování dat na úrovni jednotlivých sloupců. Při využití TDE je celá databáze šifrována zcela automaticky bez zásahu uživatele a hlavně bez změny programového kódu užívaného pro databázové aplikace. Velké využití získává TDE v případech fyzického zabezpečení datových nosičů a záloh jednotlivých databází. Ano! I samotné databázové zálohy jsou stále pod ochranou TDE a tedy již není běžně možné vzít si backup databáze a bez problémů jej obnovit na jiný server. Proces šifrování a dešifrování probíhá na úrovni načítání datových stránek do paměťového bufferu. V paměti se poté již nachází data v rozšifrované podobě. Cílem TDE je tedy chránit data ve fyzických souborech určených pro ukládání dat (mdf), transakčním logu (ldf) a záloze (bak). K šifrování dat dochází při jejich uložení na disk z paměťového bufferu zcela automaticky bez jakéhokoli zásahu uživatele. Celý proces vyžaduje určitý výpočetní výkon, obě operace – šifrování i dešifrování – potřebují pro svou práci systémové prostředky serveru. Tyto nároky jsou však mnohem nižší než u klasického šifrování sloupců, které bylo dostupné na dřívějších verzích SQL Serveru. Microsoft udává, že dochází ke zpomalení v řádu cca 3 – 5 %, což může být vzhledem k vyšší bezpečnosti dat přijatelná hodnota. Velkou výhodou TDE je také zachování možností indexace dat a bezproblémového využití cizích klíčů.

Implementace Transparent Data Encryption

Samotná implementace TDE spočívá ve 4 krocích, které je nutné provést

· Vytvoření master key

· Vytvoření nebo instalace certifikátu, chráněného master key

· Vytvoření databázového šifrovacího klíče a jeho ochrana certifikátem

· Konfigurace TDE v databázi.

Continue reading