Nové funkcie v SQL 2005

Zúčastnil som sa semináru o nových funkciách v Microsoft SQL Server 2005 pre vývojárov. Tento databázový stroj prináša mnoho noviniek, ktoré ocenia hlavne programátory obľubujúci XML a .NET Framework.

Microsoft SQL Server 2005 bude od nainštalovania v „lock-down“ móde – všetky služby bude musieť administrátor najprv povoliť. Týmto sa zvyšuje bezpečnosť serveru, pretože na ňom budú bežať len tie služby, ktoré sú naozaj potrebné.

SQL Server 2005 umožňuje použiť XML ako natívny dátový typ: v stĺpci budú uložené XML dokumenty/fragmenty skutočne ako XML. V SQL 2000 sa to suplovalo uložením XML dát do typu string.

Natívny XML dátový typ umožňuje využívať XQuery a XPath 2.0 príkazy nad obsahom buniek. XML indexovanie je dostupné len vo forme istej optimalizácie pri používaní XPath výrazov (optimalizácie pre vyhľadávanie podľa uzlov/atribútov/hod­noty uzlu). Sofistikované full-textové indexovanie zrejme bude dostupné ako rozšírenie pre SQL 2005 od tretích strán.

Bude možné index partíciovať: server bude vždy pristupovať iba k danej časti databázy, ktorá bude kontinuálne uložená na jednej časti disku – server nebude musieť behať po celom disku. Výkonnosť tu získajú iba databázy s rádovo 1GB súbormi.

Veľmi dobrá správa pre .NET vývojárov a výkonnosť aplikácií je, že v SQL Server 2005 bude možné transparentne volať uložené procedúry a užívateľsky definované funkcie (UDF). Tieto procedúry však narozdiel od natívnych T-SQL procedúr budú case-sensitive. To je jediný rozdiel, ináč pre použitie v T-SQL príkazoch nepredstavujú žiadny rozdiel.

Tiež budú podporované užívateľsky definované dátové typy priamo v T-SQL príkazoch: v .NET si nadefinujete vlastný dátový typ a môžete s ním naplno pracovať. Dátový typ by mal pre správnu funkčnosť implementovať vlastnú logiku pre metódy definované v objekte Object.

Podobne bude možné písať vlastné agregačné objekty. Každý takýto typ musí mať definované verejné statické metódy. Rozhrania nepodporujú definovanie statických metód a teda niečo ako IAggregator nebude existovať. Neviem, na akej úrovni bude overovaná správnosť objektu – či obsahuje všetky potrebné metódy.

Zhrnutie prinesených noviniek v SQL Server 2005:

  • rozšírenia T-SQL príkazov (aj o try/catch bloky)
  • XML ako natívny dátový typ
  • podpora pre .NET
  • procedúry a UDF v .NET
  • integrovaná podpora webových služieb
  • particiované tabuľky a index
  • vylepšené triggery

Nové funkcie si môžete odskúšať v Microsoft SQL Server 2005 Express Edition, beta.