SQL Server 2017 byl vypuštěn do světa v říjnu 2017. Mnozí uživatelé se ještě dosud nesrovnali se všemi novinkami v SQL 2016, Microsoft však překvapivě rychle přinesl další dávku funkcí, které rozhodně potěší. Představitelé Microsoftu a feedback uživatelů potvrzují, že SQL Server 2017 představuje významný krok ve vývoji oproti např. SQL Server 2016 nebo předchozím verzím. Jedna z velkých změn je ta, že konečně dává možnost vybrat si na jaké platformě SQL Server pojede – jestli Windows i Linux. A co dalšího ještě umí?
SQL Server 2017 běží na Windows, Linux a v Docker kontejnerech
Microsoft rozšířil počet operačních systémů, které SQL server podporuje. Verze 2017 může být nyní nainstalována na:
- Windows
- Red Hat Enterprise Linux 7.3
- SUSE Enterprise Linux Server v12 SP2
- Ubuntu 16.04:LTS
- Docker Engine 1.8+
Řešení pro Linux přitom nemá nijak omezenou funkcionalitu. Nabízí vícevrstvou ochranu, šifrování uložených a přenášených dat i další vychytávky známé z verze pro Windows.
Grafická vizualizace databází – datové modelování
Datové modelování byla vždy slabá stránka SQL Server v minulých edicích – viz článek SQL Server ER diagramy – zázraky nečekejte. Pokud se potýkáte se složitými databázovými vazbami, oceníte novou funkci, která umožňuje modelovat data z databáze do formy grafu. Přehledně uvidíte entity (ve formě uzlů) i vztahy mezi nimi (hrany mezi uzly) v jediném obrázku. Microsoft představil vylepšenou syntaxi pro SQL Graph. Například uzel vymodelujete tak, že za vytvoření tabulky přidáte klíčové slovo „AS NODE“:
CREATE TABLE Parent (ID INTEGER PRIMARY KEY, name VARCHAR(100)) AS NODE;
Podobně se vytváří hrana:
CREATE TABLE livesIn AS EDGE;
Podpora Pythonu potěší
SQL Server R Services byla přejmenována na SQL Server Machine Learning Services, což odráží podporu nejen jazyka R, ale také Pythonu. Ve verzi 2016 už byla podpora zpracování R, ovšem Python je novinkou. Machine Learning Services můžete použít ke spouštění Python skriptů na SQL Serveru, tím pádem lze data zpracovávat skripty přímo na serveru, nemusíte je nikam přesouvat.
Obnovitelná rekonstrukce indexu online
SQL Server 2017 umožňuje pozastavit operaci rekonstrukci indexu a později v ní pokračovat, abyste práci dokončili. S obnovitelnými rekonstrukcemi indexu lze také restartovat neúspěšnou operaci.
Nové zabezpečení CLR
Code Access Security (CAS) v .NET frameworku už není podporována jako hranice zabezpečení – sestava označená jako SAFE může být schopná spustit kód, který není bezpečný, nebo přistupovat k externím zdrojům. Proto SQL Server 2017 implementuje CLR Strict Security. Pokud tuto volbu povolíte, všechny SAFE sestavy a EXTERNAL_ACCESS budou považovány za bezpečné.
Změna chování identity cache
Ve starších verzích SQL Serveru byla identity cachce vymazána, pokud se nepodařilo server správně vypnout. Pak vám chyběly informace. Microsoft proto přišel s novou konfigurací, která toto napravuje.
Zjednodušení kódu díky novým funkcím v T-SQL
T-SQL přináší několik nových funkcí pro práci s řetězci – např. TRIM, CONCAT_WS, TRANSLATE a STRING_AGG. Pro srovnání například pro odstranění mezer od začátku a konce řetězce či proměnné jste v SQL Serveru 2016 a nižších museli použít LTRIM a RTRIM. SQL server 2017 to zvládne jediným zavoláním funkce TRIM.
Nová Scale Out funkce
SSIS vylepšuje funkce Scale Out, která podporuje vysokou dostupnost a přináší vylepšení týkající se zpracování logů. Pomocí Scale Out je možné rozdělit provádění balíku mezi více strojů, paralelním během tedy zlepšíte celkovou výkonnost. Funkci je ale potřeba nakonfigurovat. Nainstalujete jednu službu Scale Out Master a pak několik Scale OUt Worker služeb. Scale Out Master řídí komunikaci se Scal Out Worker a koordinuje paralelní provádění balíčku SSIS.
Automatické ladění databáze
Automatické ladění vás upozorní vždy, když zjistí potenciální problém s výkonem. Buď vám poradí, co máte udělat, nebo problém opraví samostatně.
Adaptivní zpracování dotazů
SQL Server 2017 přichází s vylepšeným zpracováním dotazů. Ve zkratce jde o to, že se nejdříve rozhodne, který způsob provádění konkrétního dotazu bude nejlepší. Celkem existují tři módy, jak vybrat nejlepší způsob provádění. Jeden je zaměřený například na minimální paměť.