Exkurzia do programu Access cez SQL Server

Exkurzia do programu Access cez SQL Server

Po migrácii údajov z Accessu do SQL Servera už máte databázu klienta/servera, ktorá môže byť lokálnym riešením alebo hybridným riešením služby Azure Cloud. V oboch prípadoch je teraz Access vrstvou prezentácie a SQL Server je vrstvou údajov. Teraz je vhodný čas premyslieť si aspekty svojich riešení, a to najmä výkon dotazu, zabezpečenie a neprerušovanú prevádzku, aby ste mohli vylepšiť a zúžiť svoje databázové riešenie.

Access v lokálnom umiestnení a Cloude

Pre používateľa Accessu môže byť prvé stretnutie s dokumentáciou SQL Servera a služby Azure problematické. V takom prípade si to vyžaduje prehliadku pomocou sprievodcu, ktorý vás prevedie hlavnými vecami, ktoré sú pre vás dôležité. Po dokončení tejto exkurzie budete pripravení preskúmať pokrok v databázovej technológii a vydať sa na dlhšiu cestu.

Obsah tohto článku

Správa databázy

Podpora neprerušovanej prevádzky

Zabezpečenie servera SQL Server

Spracovanie obáv týkajúcich sa ochrany osobných údajov

Vytvorenie snímok databázy

Ovládanie súbežnosti

Dotazy a súvisiace

Zlepšenie výkonu dotazu

Spôsoby zadania dotazu

Pridanie kľúčov a indexov

Vykonávanie transakcií

Používanie obmedzení a spúšťačov

Typy údajov

Použitie vypočítaných stĺpcov

Časová pečiatka údajov

Spravovanie veľkých objektov

Nedeľa

Práca s hierarchickými údajmi

Manipulácia s textom JSON



Zdroje informácií

Podpora neprerušovanej prevádzky

Pre svoje accessové riešenie chcete, aby fungovalo s minimálnym prerušením, vaše možnosti so serverovou databázou Accessu sú však obmedzené. Zálohovanie databázy Accessu je potrebné na ochranu vašich údajov, ale vyžaduje si to, aby vaši používatelia boli offline. Potom dochádza k neplánovaným prestojom spôsobeným inováciami údržby hardvéru alebo softvéru, výpadkami siete alebo elektrickej energie, zlyhaním hardvéru, porušením zabezpečenia alebo aj kybernetickými útokmi. Ak chcete minimalizovať prestoje a negatívny vplyv na váš podnik, môžete zálohovať databázu SQL Servera, pokiaľ sa používa. Okrem toho SQL Server poskytuje aj stratégie vysokej dostupnosti (HA) a zotavenia po havárii (DR). Tieto dve skombinované technológie sa nazývajú HADR. Ďalšie informácie nájdete v témach Neprerušovaná prevádzka a obnovenie databázyPodpora neprerušovanej prevádzky pomocou SQL Servera (elektronická kniha).

Zálohovanie počas používania

SQL Server používa online proces zálohovania, ktorý sa môže vyskytnúť počas používania databázy. Zálohovať môžete úplne, čiastočne alebo súbor. Zálohovaním skopírujete údaje a denníky transakcií a zabezpečí sa kompletná operácia obnovenia. Zvlášť v lokálnom riešení majte na pamäti rozdiely medzi možnosťami jednoduchého a úplného obnovenia a ich vplyv na rast denníkov transakcií. Ďalšie informácie nájdete v téme Modely obnovenia.

Väčšina operácií zálohovania nastáva ihneď s výnimkou operácií spravovania súborov a zmenšovania databáz. Ak sa však pokúsite vytvoriť alebo odstrániť databázový súbor počas prebiehajúcej operácie zálohovania, operácia zlyhá. Ďalšie informácie nájdete v téme Prehľad zálohovania.

HADR

Dva najbežnejšie spôsoby dosahovania vysokej dostupnosti a neprerušovanej prevádzky sú zrkadlenie a klastrovanie. SQL Server spája technológiu zrkadlenia a klastrovania so vždy zapnutými inštanciami klastra zabezpečeného pred zlyhaním a vždy zapnutými skupinami dostupnosti.

Zrkadlenie je riešenie kontinuity na úrovni databázy, ktoré podporuje okamžité zabezpečenie pred zlyhaním, a to udržiavaním pohotovostnej databázy, úplnej kópie alebo zrkadla aktívnej databázy v samostatnom hardvéri. Môže pracovať v synchrónnom režime (vysoká bezpečnosť), kde sa prichádzajúca transakcia potvrdí na všetky servery v rovnakom čase, alebo v asynchrónnom režime (vysoký výkon), kde sa prichádzajúca transakcia potvrdí na aktívnu databázu a v niektorom vopred určenom bode skopíruje do zrkadla. Zrkadlenie je riešenie na úrovni databázy a funguje len s databázami, ktoré používajú úplný model obnovenia.

Klastrovanie je riešenie na úrovni servera, ktoré spája servery do jediného ukladacieho priestoru údajov, ktorý sa zobrazuje používateľovi ako jedna inštancia. Používatelia sa pripoja k inštancii a nikdy nepotrebujú vedieť, ktorý server v inštancii je momentálne aktívny. Ak niektorý server zlyhá alebo potrebuje vykonať údržbu offline, používateľské prostredie sa nezmení. Každý server v klastri je monitorovaný správcom klastra pomocou signálu heartbeat, takže zistí, keď aktívny server v klastri prejde do režimu offline, a pokúša sa bez problémov prejsť na ďalší server v klastri, hoci v rámci prepínania dochádza k variabilnému časovému oneskoreniu.

Ďalšie informácie nájdete v témach Vždy zapnuté inštancie klastra zabezpečeného pred zlyhanímhttps://docs.microsoft.com/sql/sql-server/failover-clusters/windows/always-on-failover-cluster-instances-sql-server?view=sql-server-2017 a Vždy zapnuté skupiny dostupnosti: riešenie vysokej dostupnosti a zotavenia po havárii.

Na začiatok stránky

Zabezpečenie servera SQL Server

Napriek tomu, že databázu Accessu môžete chrániť pomocou centra dôveryhodnosti a šifrovaním databázy, SQL Server obsahuje ďalšie funkcie pokročilého zabezpečenia. Pozrime sa na tri možnosti, ktoré majú používatelia Accessu. Ďalšie informácie nájdete v téme Zabezpečovanie servera SQL Server.

Overenie databázy

SQL Server ponúka štyri metódy overenia databázy, pričom každú z nich môžete zadať v reťazci pripojenia ODBC. Ďalšie informácie nájdete v téme Prepojenie alebo import údajov z databázy SQL Servera Azure. Každá metóda má svoje vlastné výhody.

Integrované overovanie systému Windows    Použite poverenia Windowsu na overenie používateľa, roly zabezpečenia a obmedzenie používateľov na funkcie a údaje. Môžete využiť poverenia domény a jednoducho spravovať práva používateľov v aplikácii. Voliteľne môžete zadať hlavný názov služby (Service Principal Name - SPN). Ďalšie informácie nájdete v téme Výber režimu overovania.

Overenie servera SQL Server    Používatelia sa musia pripojiť s povereniami, ktoré boli nastavené v databáze zadaním prihlasovacieho ID a hesla v rámci prvého prístupu do databázy v relácii. Ďalšie informácie nájdete v téme Výber režimu overovania.

Integrované overovanie v Azure Active Directory    Pripojenie k databáze SQL Servera Azure prostredníctvom služby Azure Active Directory. Po nakonfigurovaní overovania v Azure Active Directory nie je potrebné žiadne ďalšie prihlasovacie meno a heslo. Ďalšie informácie nájdete v téme Pripojenie do databázy SQL pomocou overenia v Azure Active Directory.

Overovanie hesla v Active Directory    Pripojenie s povereniami, ktoré boli nastavené v Azure Active Directory zadaním prihlasovacieho mena a hesla. Ďalšie informácie nájdete v téme Pripojenie do databázy SQL pomocou overenia v Azure Active Directory.

Tip    Používajte detekciu hrozieb a prijímajte upozornenia na abnormálnu aktivitu databázy, ktorá znamená možné ohrozenia zabezpečenia databázy SQL Servera Azure. Ďalšie informácie nájdete v téme Detekcia hrozieb v databáze SQL.

Zabezpečenie aplikácií

SQL Server obsahuje dve funkcie zabezpečenia na úrovni aplikácie, ktoré môžete využívať s Accessom.

Dynamické maskovanie údajov    Skryte citlivé informácie tak, že ich zamaskujete pred používateľmi, ktorí nie sú privilegovaní. Môžete napríklad zakryť čísla sociálneho poistenia, a to buď čiastočne, alebo úplne.

Čiastočná údajová maska

Čiastočná údajová maska

Úplná údajová maska

Úplná údajová maska

Existuje niekoľko spôsobov, ako môžete definovať masku údajov, a môžete ich použiť pre rôzne typy údajov. Maskovanie údajov je riadené politikami na úrovni tabuliek a stĺpcov pre definovanú skupinu používateľov a používa sa v reálnom čase na zadávanie dotazov. Ďalšie informácie nájdete v téme Dynamické maskovanie údajov.

Zabezpečenie na úrovni riadkov    Prístup ku konkrétnym riadkom databázy s citlivými informáciami na základe charakteristík používateľa môžete ovládať pomocou zabezpečenia na úrovni riadkov. Databázový systém používa tieto obmedzenia prístupu, vďaka čomu je zabezpečovací systém spoľahlivejší a robustnejší.

Zabezpečenie riadka servera SQL Server

Existujú dva typy predikátov zabezpečenia:

  • Pomocou predikátu filtra sa filtrujú riadky z dotazu. Filter je transparentný a koncový používateľ o žiadnom filtrovaní nevie.

  • Predikát blokovania zabráni neoprávnenej akcii a vyhodí výnimku v prípade, ak akciu nie je možné vykonať.

Ďalšie informácie nájdete v téme Zabezpečenie na úrovni riadkov.

Ochrana údajov pomocou šifrovania

Chráňte svoje odložené, prenášané a používané údaje bez vplyvu na výkon databázy. Ďalšie informácie nájdete v téme Šifrovanie servera SQL Server.

Šifrovanie odložených údajov    Ak chcete zabezpečiť osobné údaje pred útokmi na médiá offline vo fyzickej vrstve ukladacieho priestoru, použite šifrovanie odložených údajov, známe aj ako transparentné šifrovanie údajov (Transparent Data Encryption, TDE). Znamená to, že vaše údaje sú chránené aj v prípade odcudzenia alebo nesprávneho poskytnutia fyzického média. TDE vykonáva šifrovanie a dešifrovanie databáz, záloh a denníkov transakcií v reálnom čase bez potreby zmeny aplikácií.

Šifrovanie pri prenose    Ak chcete ochranu pred zásahmi a útokmi typu „sprostredkovateľ“, môžete zašifrovať údaje prenášané v rámci siete. SQL Server podporuje protokol TLS (Transport Layer Security) 1.2 pre vysoko bezpečnú komunikáciu. Aj protokol TDS (Tabular Data Stream) sa používa na ochranu komunikácie cez nedôveryhodné siete.

Šifrovanie pri používaní v klientovi    Ak chcete chrániť osobné údaje počas používania, potrebujete funkciu Always Encrypted. Osobné údaje sú šifrované a dešifrované ovládačom v klientskom počítači bez toho, aby sa odhalili šifrovacie kľúče databázovému stroju. V dôsledku toho sa šifrované údaje zobrazujú iba ľuďom zodpovedným za spravovanie týchto údajov, a nie ostatným vysoko privilegovaným používateľom, ktorí by nemali mať prístup. V závislosti od vybratého typu šifrovania môže funkcia Always Encrypted obmedziť niektoré funkcie databázy, ako napríklad vyhľadávanie, zoskupovanie a indexovanie šifrovaných stĺpcov.

Na začiatok stránky

Spracovanie obáv týkajúcich sa ochrany osobných údajov

Obavy týkajúce sa ochrany osobných údajov sú veľmi rozšírené a Európska únia definovala zákonné požiadavky v rámci všeobecného nariadenia o ochrane údajov (GDPR). Našťastie platí, že server SQL Server je vhodne vybavený na plnenie týchto požiadaviek. Premyslite si implementáciu nariadenia GDPR v rámci troch krokov.

Proces GDPR má tri kroky

Krok 1: Posúdenie a správa rizika súladu s predpismi

Nariadenie GDPR vyžaduje, aby ste identifikovali a inventarizovali osobné informácie, ktoré máte v tabuľkách a súboroch. Tieto informácie môžu zahŕňať čokoľvek ako názov, fotografiu, e-mailovú adresu, bankové údaje, príspevky na webových lokalitách sociálnych sietí, informácie o zdravotnom stave alebo aj IP adresu.

Nový nástroj SQL Data Discovery and Classification, ktorý je zabudovaný do služby SQL Server Management Studio, umožňuje zistiť, klasifikovať, označiť a nahlásiť citlivé údaje pomocou dvoch atribútov metaúdajov do stĺpcov:

  • Označenia    Na definovanie citlivosti údajov.

  • Typy informácií    Na poskytnutie dodatočnej granularity týkajúcej sa typov údajov, ktoré sú uložené v stĺpci.

Ďalším mechanizmom zisťovania, ktorý môžete použiť, je vyhľadávanie celého textu, kde je zahrnuté aj použitie predikátov CONTAINS a FREETEXT a funkcií hodnotenia skupiny riadkov ako CONTAINSTABLE a FREETEXTTABLE na použitie s príkazom SELECT. Pomocou vyhľadávania v celom texte môžete hľadať v tabuľkách a objavovať slová, kombinácie slov alebo variácie slova, akými sú napríklad synonymá alebo inflexné tvary. Ďalšie informácie nájdete v téme Vyhľadávanie v celom texte.

Krok 2: Ochrana osobných údajov

Nariadenie GDPR vyžaduje, aby ste osobné informácie zabezpečili a obmedzili k nim prístup. Popri štandardných krokoch pri spravovaní prístupu k sieti a zdrojom, ako je napríklad nastavenie brány firewall, môžete použiť funkcie zabezpečenia servera SQL Server, ktoré umožňujú riadiť prístup k údajom:

  • Overenie servera SQL Server na spravovanie identity používateľa a zabránenie neoprávnenému prístupu.

  • Zabezpečenie na úrovni riadkov na obmedzenie prístupu k riadkom v tabuľke na základe vzťahu medzi používateľom a týmito údajmi.

  • Dynamické maskovanie údajov na obmedzenie vystavenia osobných údajov pomocou ich maskovania pred neprivilegovanými používateľmi.

  • Šifrovanie na zaistenie ochrany osobných údajov počas prenosu a uloženia a ochrany pred zneužitím vrátane na strane servera.

Ďalšie informácie nájdete v téme Zabezpečenie servera SQL Server.

Krok 3: Efektívne odpovedanie na žiadosti

Nariadenie GDPR vyžaduje, aby ste uchovávali záznamy o spracovaní osobných údajov a sprístupnili tieto záznamy dozorným orgánom na požiadanie. Ak sa vyskytujú problémy vrátane neúmyselného vydania údajov, ovládacie prvky ochrany umožňujú rýchlo reagovať. Údaje musia byť rýchlo dostupné, keď je potrebné podať hlásenie. Nariadenie GDPR napríklad vyžaduje, aby bolo porušenie ochrany osobných údajov nahlásené dozornému orgánu najneskôr do 72 hodín po získaní vedomosti o ňom.

SQL Server 2017 pomáha s úlohami hlásenia niekoľkými spôsobmi:

  • Audit servera SQL Server umožňuje zabezpečiť, aby existovali trvalé záznamy aktivít databázového prístupu a spracovania. Vykonáva prehľadný audit, ktorý sleduje databázové aktivity a pomáha vám pochopiť a identifikovať potenciálne hrozby, podozrenia zneužitia alebo porušenia zabezpečenia. S údajmi môžete jednoducho použiť forenzné postupy.

  • Dočasné tabuľky servera SQL Server sú systémové tabuľky používateľov, ktoré sú určené na zachovanie úplnej histórie zmien údajov. Môžete ich použiť na jednoduché hlásenia a analýzu, ktorá zodpovedá určitému bodu v čase

  • Hodnotenie rizík SQL umožňuje zistiť problémy so zabezpečením a povoleniami. Po zistení problému môžete tiež prejsť do zostáv kontroly databáz a vyhľadať akcie pre rozlíšenie.

Ďalšie informácie nájdete v témach Vytvorenie platformy dôvery (elektronická kniha)cesta k dodržiavaniu nariadenia GDPR.

Na začiatok stránky

Vytvorenie snímok databázy

Snímka databázy je statické zobrazenie databázy servera SQL Server určené iba na čítanie v určitom bode času. Napriek tomu, že môžete skopírovať databázový súbor Accessu a efektívne vytvoriť snímku databázy, Access nemá vstavanú metodológiu ako SQL Server. Snímka databázy sa môže použiť na písanie zostáv na základe údajov v čase vytvorenia snímky databázy. Snímku databázy môžete tiež použiť na udržiavanie historických údajov, napríklad jeden pre každý finančný štvrťrok, ktorý použijete na vytvorenie zostáv na konci obdobia. Odporúčame nasledujúci osvedčený postup:

  • Pomenovanie snímky    Každá snímka databázy vyžaduje jedinečný názov databázy. K názvu pridajte účel a časový rámec na jednoduchšiu identifikáciu. Ak chcete napríklad vytvoriť snímku databázy AdventureWorks trikrát za deň v 6-hodinových intervaloch od 6:00 do 18:00 v 24-hodinovom režime, nazvite ich AdventureWorks_snímka_0600, AdventureWorks_snímka_1200 a AdventureWorks_snímka_1800.

  • Obmedzenie počtu snímok    Každá snímka databázy pretrváva dovtedy, kým nie je explicitne zrušená. Keďže každá snímka bude naďalej rásť, je možné, že budete chcieť šetriť miesto na disku a odstránite staršiu snímku po vytvorení novej snímky. Ak napríklad vytvárate denné zostavy, uchovajte snímku databázy na 24 hodín, potom ju zrušte a nahraďte novou.

  • Pripojenie k správnej snímke    Ak chcete použiť snímku databázy, klientske rozhranie Accessu musí poznať správne umiestnenie. Keď nahradíte novou snímkou existujúcu, potrebujete Access presmerovať na novú snímku. Ak chcete mať istotu, že sa pripájate k správnej snímke databázy, pridajte klientskemu rozhraniu Accessu logiku.

Tu je postup vytvorenia snímky databázy:

CREATE DATABASE AdventureWorks_dbss1800 ON  
( NAME = AdventureWorks_Data, FILENAME =   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks_snapshot_0600' )  
AS SNAPSHOT OF AdventureWorks;  

Ďalšie informácie nájdete v téme Snímky databázy (SQL Server).

Na začiatok stránky

Ovládanie súbežnosti

Keď sa súčasne veľa ľudí pokúsi zmeniť údaje v databáze, je potrebný systém ovládacích prvkov, aby zmeny vykonané jednou osobou neovplyvnili iné osoby. Nazýva sa to ovládanie súbežnosti a k dispozícii sú dve základné stratégie zamykania, pesimistická a optimistická. Zamknutím používateľom zabránite v úpravách údajov, ktoré by ovplyvnili ostatných používateľov. Zamknutie tiež pomáha zabezpečiť integritu databázy, a to najmä v prípade dotazov, ktoré by inak mohli priniesť neočakávané výsledky. V spôsobe, akým Access a SQL Server vykonávajú tieto stratégie ovládania súbežnosti, sú dôležité rozdiely.

V Accesse je predvolená optimistická stratégia zamykania a udeľuje vlastníctvo zámku prvému používateľovi, ktorý sa pokúsi o zápis do záznamu. V Accesse sa zobrazí dialógové okno Konflikt zápisu osobe, ktorá sa pokúša o zápis do rovnakého záznamu súčasne s vami. Aby sa konflikt vyriešil, druhá osoba môže uložiť záznam, skopírovať ho do schránky alebo zrušiť zmeny.

Môžete tiež použiť vlastnosť UzamknutieZáznamov na zmenu stratégie ovládania súbežnosti. Táto vlastnosť ovplyvňuje formuláre, zostavy a dotazy a má tri nastavenia:

  • Bez uzamknutia    Vo formulári sa používatelia môžu súčasne pokúsiť upravovať rovnaký záznam, ale pravdepodobne sa zobrazí dialógové okno Konflikt zápisu. V zostave nie sú záznamy počas zobrazenia alebo tlače zostavy uzamknuté. V dotaze nie sú záznamy počas spusteného dotazu uzamknuté. Týmto spôsobom Access realizuje optimistické zamykanie.

  • Všetky záznamy    Keď je formulár otvorený v zobrazení formulára alebo v údajovom zobrazení a kým sa zostava zobrazuje alebo tlačí či pri spustení dotazu, všetky záznamy z podkladovej tabuľky alebo dotazu sú uzamknuté. Používatelia môžu počas uzamknutia záznamy čítať.

  • Upravený záznam    Len v prípade formulárov a dotazov sa stránka záznamov uzamkne hneď po tom, ako určitý používateľ začne upravovať nejaké pole v zázname a zostane uzamknutá dovtedy, kým sa používateľ nepresunie na iný záznam. V dôsledku toho môže záznam upravovať naraz iba jeden používateľ. Týmto spôsobom Access realizuje pesimistické zamykanie.

Ďalšie informácie nájdete v témach Dialógové okno Konflikt zápisuVlastnosť UzamknutieZáznamov.

V serveri SQL Server funguje ovládanie súbežnosti týmto spôsobom:

  • Pesimistické    Keď používateľ vykoná akciu, ktorá spôsobí, že sa použije zámok, ostatní používatelia nemôžu vykonávať akcie, ktoré by mohli byť v konflikte s uzamknutím, kým ho vlastník neodomkne. Toto ovládanie súbežnosti sa používa predovšetkým v prostrediach s vysokým obsahom údajov.

  • Optimistické    Pri ovládaní optimistickej súbežnosti používatelia nezamykajú údaje, keď si ich prečítajú. Keď používateľ aktualizuje údaje, systém skontroluje, či ich po prečítaní nezmenil ďalší používateľ. Ak iný používateľ údaje aktualizoval, vyskytne sa chyba. Používateľ, ktorému sa zobrazí chyba, zvyčajne vráti transakciu späť a začne nova. Toto ovládanie súbežnosti sa používa predovšetkým v prostrediach s nízkym obsahom údajov.

Typ ovládania súbežnosti môžete určiť výberom niekoľkých úrovní izolácie transakcií, v ktorých sa určuje úroveň ochrany transakcie pred úpravami vykonanými inými transakciami pomocou príkazu SET TRANSACTION:

 SET TRANSACTION ISOLATION LEVEL
 { READ UNCOMMITTED
    | READ COMMITTED
    | REPEATABLE READ  
    | SNAPSHOT
    | SERIALIZABLE
 }

Úroveň izolácie

Popis

Čítať nepotvrdené

Transakcie sa izolujú len tak, aby sa zaistilo, že fyzicky poškodené údaje nebudú prečítané.

Čítať potvrdené

Transakcie môžu čítať údaje predtým prečítané inou transakciou bez toho, aby museli čakať na dokončenie prvej transakcie.

Opakovateľné čítanie

Zámky čítania a zapisovania sa vyskytujú vo vybratých údajoch až do ukončenia transakcie, môže sa však vyskytnúť fantómové čítanie.

Snímka

Používa verziu riadka na poskytnutie konzistentnosti čítania na úrovni transakcie.

Serializovateľné

Transakcie sú od seba úplne izolované.

Ďalšie informácie nájdete v téme Sprievodca zamykaním transakcií a príručka tvorbou verzií riadkov.

Na začiatok stránky

Zlepšenie výkonu dotazu

Keď už vám funguje odovzdávajúci dotaz Accessu, využite sofistikované spôsoby, ktorými môže fungovanie SQL Server zefektívniť.

Na rozdiel od databázy programu Access poskytuje SQL Server paralelné dotazy na optimalizáciu operácií vykonávania a indexovania dotazov pre počítače s viacerými mikroprocesormi (CPU). Keďže SQL Server dokáže vykonať operáciu dotazu alebo indexu súbežne pomocou niekoľkých pracovných vlákien systému, operácia sa dá dokončiť rýchlo a efektívne.

Dotazy sú dôležitým prvkom zlepšovania celkového výkonu databázového riešenia. Zlé dotazy sa spustia na neurčito, s časovým limitom a vyčerpávajú prostriedky, ako sú napríklad procesory, pamäť a sieťové pásmo. Zabraňuje to dostupnosti dôležitých obchodných informácií. Aj jeden zlý dotaz môže spôsobiť vážne problémy s výkonom databázy.

Ďalšie informácie nájdete v téme Rýchlejšie dotazovanie pomocou servera SQL Server (elektronická kniha).

Optimalizácia dotazov

Niektoré nástroje pracujú spoločne a pomáhajú analyzovať a vylepšiť výkon dotazu: Optimalizátor dotazov, plány vykonávania a Query Store.

Ako funguje optimalizácia dotazov

Optimalizátor dotazov

Optimalizátor dotazov je jedna z najdôležitejších súčastí servera SQL Server. Pomocou optimalizátora dotazov môžete analyzovať dotaz a určiť najefektívnejší spôsob prístupu k požadovaným údajom. Vstup do optimalizátora dotazov sa skladá z dotazu, databázovej schémy (definícií tabuliek a indexov) a databázovej štatistiky. Výstupom optimalizátora dotazov je plán vykonávania.

Ďalšie informácie nájdete v téme Optimalizátor dotazov servera SQL Server.

Plán vykonávania

Plán vykonávania je definícia, v ktorej sa vytvárajú sekvencie zdrojových tabuliek na prístup a metód použitých na extrahovanie údajov z každej tabuľky. Optimalizáciou je proces výberu niektorého plánu vykonávania z množstva možných plánov. Každý možný plán vykonávania má súvisiace náklady vo sume použitých výpočtových zdrojov a optimalizátor dotazov si vyberie ten s najnižšími odhadovanými nákladmi.

SQL Server sa tiež musí dynamicky prispôsobiť meniacim sa podmienkam v databáze. Regresie v plánoch vykonávania dotazov môžu mať veľký vplyv na výkon. Niektoré zmeny v databáze môžu mať za následok neúčinnosť alebo neplatnosť plánu vykonávania na základe nového stavu databázy. SQL Server zistí zmeny, ktoré rušia platnosť plánu vykonávania, a označí plán ako neplatný.

Nový plán sa potom musí znova zostaviť pre ďalšie pripojenie, ktoré vykoná dotaz. Podmienky, ktoré rušia platnosť plánu, sú nasledovné:

  • Zmeny vykonané v tabuľke alebo zobrazení, na ktoré dotaz odkazuje (ALTER TABLE a ALTER VIEW).

  • Zmeny indexov použitých plánom vykonávania.

  • Aktualizuje štatistiky používané plánom vykonávania, vygenerované buď explicitne z príkazu, ako je napríklad UPDATE STATISTICS, alebo automaticky.

Ďalšie informácie nájdete v téme Plány vykonávania.

Query Store

Funkcia Query Store poskytuje prehľad o výbere a výkone plánu vykonávania. Zjednodušuje riešenie problémov s výkonom pomocou rýchleho vyhľadania rozdielov vo výkone spôsobených zmenami plánu vykonávania. Funkcia Query Store zhromažďuje údaje telemetrie, ako sú napríklad história dotazov, plánov, štatistika režimu runtime a štatistika čakania. Pomocou príkazu ALTER DATABASE implementujte funkciu Query Store:

ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;

Ďalšie informácie nájdete v téme Monitorovanie výkonu pomocou funkcie Query Store.

Automatická oprava plánu

Asi najjednoduchším spôsobom zlepšovania výkonu dotazu je pomocou automatickej opravy plánu, čo je funkcia, ktorá je k dispozícii v databáze Azure SQL. Stačí ju zapnúť a nechať pracovať. Neustále vykonáva monitorovanie a analýzu plánu vykonávania, zisťuje problematické plány vykonávania a automaticky opravuje problémy s výkonom. V zákulisí používa automatická oprava plánu stratégiu štyroch krokov učenia, úpravy, overenia a opakovania.

Ďalšie informácie nájdete v téme Automatické ladenie.

Adaptívne spracovanie dotazu

Jednoduchou inováciou na SQL Server 2017, ktorý obsahuje novú funkciu s názvom Adaptive Query Processing (adaptívne spracovanie dotazu), môžete tiež získať rýchlejšie dotazy. SQL Server upraví výbery plánu dotazov na základe charakteristík režimu runtime.

Odhad kardinality sa približuje počtu riadkov spracovaných pri každom kroku plánu vykonávania. Nepresné odhady môžu mať za následok spomalený čas odozvy na dotaz, nepotrebné využitie zdrojov (pamäti, procesora a vstupov a výstupov) a zníženú priepustnosť a súbežnosť. Na prispôsobenie charakteristík záťaže aplikácie sa používajú tri metódy:

  • Spätná väzba pridelenia pamäti v dávkovom režime    Nedostatočné odhady kardinality môžu spôsobiť, že dotazy „zaplavia disk“ alebo zaberú príliš veľa pamäte. SQL Server 2017 upravuje pridelenia pamäti na základe spätnej väzby vykonávania, odstraňuje zaplavenie disku a zlepšuje súbežnosť pre opakujúce sa dotazy.

  • Adaptívne spojenia v dávkovom režime   Adaptívne spojenia dynamicky vyberú lepší typ interného spojenia (vnorené slučkové spojenia, zlúčené spojenia alebo hašové spojenia) počas režimu runtime na základe skutočných vstupných riadkov. V dôsledku toho sa plán môže dynamicky prepnúť na lepšiu stratégiu spojenia počas vykonávania.

  • Prekladané vykonávanie    Funkcie hodnotenia tabuľky s viacerými príkazmi boli tradične v rámci spracovania dotazu považované za čiernu skrinku. SQL Server 2017 umožňuje lepší odhad počtu riadkov a zlepšuje následné operácie.

Pracovnú záťaž môžete nastaviť ako automatickú na adaptívne spracovanie dotazu, a to aktivovaním úrovne kompatibility 140 pre databázu:

ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 140;

Ďalšie informácie nájdete v téme Inteligentné spracovanie dotazov v databázach SQL.

Na začiatok stránky

Spôsoby zadania dotazu

SQL Server ponúka niekoľko spôsobov vytvorenia dotazu, pričom každý z nich má svoje výhody. Potrebujete o nich niečo vedieť, aby ste si vybrali ten správny pre svoje riešenie v Accesse. Najlepším spôsobom tvorby dotazov TSQL je ich interaktívne upravovanie a testovanie pomocou editora Transact-SQL aplikácie SQL Server Management Studio (SSMS), ktorý obsahuje technológiu IntelliSense, ktorá vám pomôže vybrať správne kľúčové slová a skontrolovať chyby syntaxe.

Zobrazenia

V serveri SQL Server je zobrazenie ako virtuálna tabuľka, kde zobrazené údaje pochádzajú z jednej alebo viacerých tabuliek alebo iných zobrazení. Na zobrazenia sa však odkazuje rovnako ako na tabuľky v dotazoch. Zobrazenia dokážu skryť zložitosť dotazov a pomáhajú chrániť údaje pomocou obmedzenia množiny riadkov a stĺpcov. Príklad jednoduchého zobrazenia:

CREATE VIEW HumanResources.EmployeeHireDate AS  
SELECT p.FirstName, p.LastName, e.HireDate  
FROM HumanResources.Employee AS e JOIN Person.Person AS p  
ON e.BusinessEntityID = p.BusinessEntityID;

Ak chcete dosiahnuť optimálny výkon a upraviť výsledky zobrazenia, vytvorte indexované zobrazenie, ktoré v databáze pretrvá ako tabuľka, má vyhradený ukladací priestor a môže byť dotazované ako ľubovoľná tabuľka. Ak ho chcete použiť v Accesse, vytvorte prepojenie na zobrazenie rovnakým spôsobom ako prepojenie na tabuľku. Príklad indexovaného zobrazenia:

CREATE VIEW Sales.vOrders  
WITH SCHEMABINDING  
AS  
    SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue,  
        OrderDate, ProductID, COUNT_BIG(*) AS COUNT  
    FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o  
    WHERE od.SalesOrderID = o.SalesOrderID  
    GROUP BY OrderDate, ProductID;  

CREATE UNIQUE CLUSTERED INDEX IDX_V1   
    ON Sales.vOrders (OrderDate, ProductID);  

Existujú však obmedzenia. Ak ovplyvníte viac ako jednu základnú tabuľku alebo zobrazenie obsahuje agregačné funkcie alebo klauzulu DISTINCT, údaje nemôžete aktualizovať. Ak SQL Server vráti chybové hlásenie s informáciou, že nevie, ktorý záznam sa má odstrániť, možno bude potrebné v zobrazení pridať spúšťač odstránenia. Nakoniec, nie je možné použiť klauzulu ORDER BY, ako ju môžete použiť v dotaze Accessu.

Ďalšie informácie nájdete v témach ZobrazeniaVytvorenie indexovaných zobrazení.

Uložené procedúry

Uložená procedúra je skupina s jedným alebo viacerými príkazmi TSQL, ktoré používajú vstupné parametre, vracajú výstupné parametre a indikujú úspešnosť alebo neúspech pomocou hodnoty stavu. Pôsobia ako medzivrstva medzi klientskym rozhraním Accessu a serverom SQL Server. Uložené procedúry môžu byť také jednoduché ako príkaz SELECT, alebo zložité ako ktorýkoľvek program. Príklad:

CREATE PROCEDURE HumanResources.uspGetEmployees   
    @LastName nvarchar(50),   
    @FirstName nvarchar(50)   
AS   
    SET NOCOUNT ON;  
    SELECT FirstName, LastName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory  
    WHERE FirstName = @FirstName AND LastName = @LastName  
    AND EndDate IS NULL;  

Ak používate uloženú procedúru v Accesse, zvyčajne vráti množinu výsledkov späť do formulára alebo zostavy. Môže však vykonávať aj ďalšie akcie, ktoré nevracajú výsledky, ako sú napríklad príkazy DDL alebo DML. Ak používate odovzdávajúci dotaz, uistite sa, že ste správne nastavili vlastnosť Vráti záznamy správne.

Ďalšie informácie nájdete v téme Uložené procedúry.

Bežné výrazy tabuľky

Bežné výrazy tabuľky (CTE) sú ako dočasná tabuľka vytvárajúca pomenovanú množinu výsledkov. Existuje len na vykonanie jediného dotazu alebo príkazu DML. CTE sa vytvoria v tom istom riadku s kódom ako príkaz SELECT alebo príkaz DML, ktorý ich používa, keďže vytvorenie a používanie dočasnej tabuľky alebo zobrazenia je zvyčajne dvojstupňovým procesom. Príklad:

-- Define the CTE expression name and column list.  
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear)  
AS  
-- Define the CTE query.  
(  
    SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear  
    FROM Sales.SalesOrderHeader  
    WHERE SalesPersonID IS NOT NULL  
)  
-- Define the outer query referencing the CTE name.  
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear  
FROM Sales_CTE  
GROUP BY SalesYear, SalesPersonID  
ORDER BY SalesPersonID, SalesYear;

CTE má niekoľko výhod vrátane týchto:

  • Keďže CTE sú prechodné, nemusíte ich vytvárať ako trvalé databázové objekty, ako sú zobrazenia.

  • Na rovnaké CTE sa dá v dotaze alebo v príkaze DML odkazovať viackrát, a tým sa bude kód lepšie spravovať.

  • Môžete použiť dotazy, ktoré odkazujú na CTE a definujú kurzor.

Ďalšie informácie nájdete v téme WITH common_table_expression.

Funkcie definované používateľom

Funkcia definovaná používateľom (UDF) môže vykonať dotazy a výpočty a vrátiť buď skalárne hodnoty alebo množiny výsledkov údajov. Sú ako funkcie v programovacích jazykoch, ktoré akceptujú parametre, vykonávajú akcie, ako je napríklad komplexný výpočet, a vrátia výsledok týchto akcií ako hodnotu. Príklad:

CREATE FUNCTION dbo.ISOweek (@DATE datetime)  
RETURNS int WITH SCHEMABINDING -- Helps improve performance
WITH EXECUTE AS CALLER  
AS  
BEGIN  
     DECLARE @ISOweek int;  
     SET @ISOweek= DATEPART(wk,@DATE)+1  
          -DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104');  
-- Special cases: Jan 1-3 may belong to the previous year  
     IF (@ISOweek=0)   
          SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1   
               AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1;  
-- Special case: Dec 29-31 may belong to the next year  
     IF ((DATEPART(mm,@DATE)=12) AND   
          ((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28))  
          SET @ISOweek=1;  
     RETURN(@ISOweek);  
END;  
GO  
SET DATEFIRST 1;  
SELECT dbo.ISOweek(CONVERT(DATETIME,'12/26/2004',101)) AS 'ISO Week';  

UDF majú určité obmedzenia. Nemôžu napríklad používať určité nedeterministické systémové funkcie, vykonávať príkazy DML alebo DDL a ani dynamické dotazy SQL.

Ďalšie informácie nájdete v téme Funkcie definované používateľom.

Na začiatok stránky

Pridanie kľúčov a indexov

Bez ohľadu na to, aký databázový systém používate, kľúče a indexy idú ruka v ruke.

Kľúče

V serveri SQL Server sa uistite, že pre každú tabuľku vytvoríte hlavné kľúče a pre každú súvisiacu tabuľku cudzie kľúče. Funkcia v serveri SQL Server, ktorá ekvivalentná typu údajov AutoNumber v Accesse, je vlastnosť IDENTITY, ktorú môžete použiť na vytvorenie kľúčových hodnôt. Po použití tejto vlastnosti na ľubovoľný numerický stĺpec bude tento iba na čítanie a bude ho udržiavať databázový systém. Keď vložíte záznam do tabuľky, ktorá obsahuje stĺpec IDENTITY, systém automaticky zvýši hodnotu stĺpca IDENTITY o 1 začínajúc od hodnoty 1, ale tieto hodnoty môžete ovládať pomocou argumentov.

Ďalšie informácie nájdete v téme CREATE TABLE, IDENTITY (vlastnosť).

Indexy

Ako vždy, výber indexov znamená vyvažovanie rýchlosti dotazu a aktualizácie nákladov. V Accesse máte k dispozícii jeden typ indexu, ale SQL Server ich má dvanásť. Našťastie môžete použiť optimalizátor dotazov, ktorý vám spoľahlivo pomôže vybrať najefektívnejší index. A v Azure SQL môžete použiť automatickú správu indexov, funkciu automatického ladenia, ktorá odporúča pridanie alebo odstránenie indexov za vás. Na rozdiel od Accessu je potrebné vytvoriť vlastné indexy cudzích kľúčov v serveri SQL Server. Môžete tiež vytvoriť indexy v indexovanom zobrazení a zlepšiť výkon dotazu. Ak upravujete údaje v základných tabuľkách zobrazenia, nevýhoda indexovaného zobrazenia sa zvýši, keďže zobrazenie sa musí tiež aktualizovať. Ďalšie informácie nájdete v témach Sprievodca návrhom a architektúrou indexov v SQL ServeriIndexy.

Na začiatok stránky

Vykonávanie transakcií

Vykonanie spracovania transakcie online (OLTP) je ťažké, ak používate Access, ale relatívne jednoduché, ak používate SQL Server. Transakcia predstavuje jednu pracovnú jednotku, ktorá potvrdí všetky zmeny údajov v prípade úspešnosti, ale v prípade neúspešnosti vráti zmeny späť. Transakcia musí mať štyri vlastnosti, ktoré sa spolu často označujú anglickým akronymom ACID (Atomicity, Consistency, Isolation, Durability):

  • Atomicita    Transakcia musí byť atomická jednotka práce. Buď sa vykonajú všetky zmeny údajov, alebo sa nevykonajú žiadne.

  • Konzistentnosť    Po dokončení musí transakcia ponechať všetky údaje v konzistentnom stave. To znamená, že sa použijú všetky pravidlá integrity údajov.

  • Izolácia    Zmeny uskutočnené súbežnými transakciami sú izolované od aktuálnej transakcie.

  • Trvanlivosť    Po dokončení transakcie sú zmeny trvalé, a to aj v prípade zlyhania systému.

Transakciu môžete použiť na zabezpečenie garantovanej integrity údajov, ako je napríklad výber hotovosti z bankomatu alebo automatický vklad výplaty. Môžete vykonávať explicitné, implicitné alebo dávkové transakcie. Dva príklady TSQL:

-- Using an explicit transaction

BEGIN TRANSACTION;  
DELETE FROM HumanResources.JobCandidate  
    WHERE JobCandidateID = 13;  
COMMIT;  

-- the ROLLBACK statement rolls back the INSERT statement, but the created table still exists.

CREATE TABLE ValueTable (id int);  
BEGIN TRANSACTION;  
       INSERT INTO ValueTable VALUES(1);  
       INSERT INTO ValueTable VALUES(2);  
ROLLBACK;

Ďalšie informácie nájdete v téme Transakcie.

Na začiatok stránky

Používanie obmedzení a spúšťačov

Vo všetkých databázach existujú spôsoby na udržanie integrity údajov.

Obmedzenia

V Accesse si vynútite referenčnú integritu vo vzťahu tabuliek prostredníctvom párovania cudzích kľúčov a hlavných kľúčov, kaskádovania aktualizácií a odstránení a overovacích pravidiel. Ďalšie informácie nájdete v témach Sprievodca vzťahmi tabuliekVytvorenie overovacieho pravidla na overenie údajov v poli.

V SQL Serveri použijete obmedzenia UNIQUE a CHECK, čo sú databázové objekty, ktoré si vynucujú integritu údajov v tabuľkách SQL Servera. Ak chcete overiť platnosť hodnoty v inej tabuľke, použite obmedzenie cudzieho kľúča. Ak chcete overiť, či je hodnota v stĺpci v rámci konkrétneho rozsahu, použite obmedzenie CHECK. Tieto objekty slúžia ako prvá obranná línia a sú navrhnuté na efektívnejšie fungovanie. Ďalšie informácie nájdete v téme Obmedzenia UNIQUE a obmedzenia CHECK.

Spúšťače

Access neobsahuje databázové spúšťače. Ak používate SQL Server, pomocou spúšťačov môžete vynútiť zložité pravidlá integrity údajov a spustiť túto obchodnú logiku na serveri. Databázový spúšťač predstavuje uloženú procedúru, ktorá sa spustí v prípade výskytu špecifických akcií v databáze. Spúšťač predstavuje udalosť, ako je napríklad pridanie alebo odstránenie záznamu v rámci tabuľky, ktorá sa spustí a potom vykoná uloženú procedúru. Hoci databáza programu Access dokáže zabezpečiť referenčnú integritu pri pokuse používateľa o aktualizáciu alebo odstránenie údajov, SQL Server obsahuje sofistikovanú množinu spúšťačov. Môžete napríklad naprogramovať spúšťač na hromadné odstránenie záznamov a zabezpečenie integrity údajov. Dokonca môžete pridať spúšťače do tabuliek a zobrazení.

Ďalšie informácie nájdete v témach Spúšťače – DML, Spúšťače – DDLNavrhovanie spúšťača T-SQL.

Na začiatok stránky

Použitie vypočítaných stĺpcov

V Accesse vytvoríte vypočítavaný stĺpec tak, že ho pridáte do dotazu a zostavíte výraz. Príklad:

Extended Price: [Quantity] * [Unit Price]

Ak používate SQL Server, ekvivalentná funkcia sa nazýva vypočítaný stĺpec, čo je virtuálny stĺpec, ktorý nie je fyzicky uložený v tabuľke, pokiaľ stĺpec nie je označený ako PERSISTED. Podobne ako vypočítavaný stĺpec, vypočítaný stĺpec používa údaje z iných stĺpcov vo výraze. Ak chcete vytvoriť vypočítaný stĺpec, pridajte ho do tabuľky. Príklad:

CREATE TABLE dbo.Products   
(  
    ProductID int IDENTITY (1,1) NOT NULL  
  , QtyAvailable smallint  
  , UnitPrice money  
  , InventoryValue AS QtyAvailable * UnitPrice  
);  

Ďalšie informácie nájdete v téme Zadanie vypočítaných stĺpcov v tabuľke.

Na začiatok stránky

Časová pečiatka údajov

Po vytvorení záznamu môžete niekedy pridať pole tabuľky a zaznamenať časovú pečiatku, aby ste mohli zadávať údaje. V Accesse môžete jednoducho vytvoriť stĺpec s dátumom s predvolenou hodnotou =Now(). Ak chcete zaznamenať dátum alebo čas v SQL Serveri, použite typ údajov datetime2 s predvolenou hodnotou SYSDATETIME().

Poznámka    Vyhnite sa zámene stĺpca ROWVERSION pomocou pridania časovej pečiatky k údajom. Kľúčové slovo časová pečiatka je synonymom kľúčového slova rowversion v SQL Serveri, ale mali by ste použiť kľúčové slovo rowversion. V SQL Serveri je rowversion typ údajov, ktorý odhaľuje automaticky generované, jedinečné binárne čísla v databáze a vo všeobecnosti sa používa ako mechanizmus pre riadky tabuliek verzií. Typ údajov rowversion je však iba prírastkovým číslom, neuchová dátum ani čas a nie je určený na vytvorenie časovej pečiatky riadka.

Ďalšie informácie nájdete v téme rowversion. Ďalšie informácie o používaní typu údajov e rowversion na minimalizovanie konfliktov v záznamoch nájdete v téme Migrácia accessovej databázy na server SQL Server.

Na začiatok stránky

Spravovanie veľkých objektov

V Accesse spravujete neštruktúrované údaje, ako sú napríklad súbory, fotografie a obrázky, a to pomocou typu údajov Príloha. V terminológii SQL Servera sa neštruktúrované údaje nazývajú objekt BLOB (binárny veľký objekt) a existuje niekoľko spôsobov, ako s nimi pracovať:

FILESTREAM    Používa typ údajov varbinary(max) na ukladanie neštruktúrovaných údajov v systéme súborov, nie v databáze. Ďalšie informácie nájdete v téme Prístup k údajom FILESTREAM pomocou príkazov Transact-SQL.

FileTable    Ukladá objekty BLOB do špeciálnych tabuliek s názvom FileTable a poskytuje kompatibilitu s aplikáciami pre Windows, ako keby boli uložené v systéme súborov a bez zmeny vo vašich klientskych aplikáciách. Tabuľka FileTable vyžaduje použitie údajov FILESTREAM. Ďalšie informácie nájdete v téme Tabuľky FileTable.

RBS (Remote BLOB store)    Ukladá binárne veľké objekty (objekty BLOB) do riešenia ukladacieho priestoru pre komodity namiesto uloženia priamo na serveri. Takto sa ušetrí miesto a zredukujú hardvérové zdroje. Ďalšie informácie nájdete v téme Údaje BLOB (binárny veľký objekt).

Na začiatok stránky

Práca s hierarchickými údajmi

Napriek tomu, že relačné databázy, ako je napríklad Access, sú veľmi flexibilné, práca s hierarchickými vzťahmi je výnimkou a často si vyžaduje zložité príkazy SQL alebo kód. Príklady hierarchických údajov: organizačná štruktúra, systém súborov, taxonómia jazykových výrazov a graf prepojení medzi webovými stránkami. SQL Server obsahuje vstavaný typ údajov hierarchyid a množinu hierarchických funkcií na jednoduché ukladanie, dotazovanie a spravovanie hierarchických údajov.

Typická hierarchia

Ďalšie informácie nájdete v témach Hierarchické údajeKurz: Používanie typu údajov hierarchyid.

Na začiatok stránky

Manipulácia s textom JSON

JavaScript Object Notation (JSON) je webová služba, ktorá používa čitateľný text na prenos údajov ako párov atribútov a hodnôt v asynchrónnej komunikácii prehliadača a servera. Príklad:

{
"firstName": "Mary",
"lastName": "Contrary",
"spouse": null,
"age": 27
}

V Accesse neexistujú žiadne vstavané spôsoby spravovania údajov JSON, ale v SQL Serveri môžete údaje JSON plynule ukladať, indexovať, dotazovať a extrahovať. Text JSON môžete skonvertovať a uložiť do tabuľky alebo formátovať údaje ako text JSON. Môžete napríklad formátovať výsledky dotazu ako JSON pre webovú aplikáciu alebo pridať štruktúry údajov JSON do riadkov a stĺpcov.

Poznámka    Služba JSON nie je podporovaná v jazyku VBA. Ako alternatívu môžete použiť údaje XML v jazyku VBA pomocou knižnice MSXML.

Ďalšie informácie nájdete v téme Údaje JSON v SQL Serveri.

Na začiatok stránky

Zdroje informácií

Teraz je najlepší čas získať ďalšie informácie o SQL Serveri a funkcii Transact SQL (TSQL). Ako ste si všimli, existuje mnoho funkcií, aké obsahuje aj Access, ale aj ďalšie možnosti, ktoré Access jednoducho neponúka. Ak chcete exkurziu do vyššej úrovne, tu je niekoľko učebných materiálov:

Zdroj informácií

Popis

Dotazovanie pomocou funkcie Transact-SQL

Videokurz

Kurzy o databázových strojoch

Kurzy o SQL Serveri 2017

Microsoft Learn

Vzdelávanie o Azure

Školenia a certifikácia pre SQL Server

Ako sa stať odborníkom

SQL Server 2017

Hlavná stránka prvého kontaktu

Dokumentácia servera SQL Server

Informácie o Pomocníkovi

Dokumentácia databázy Azure SQL

Informácie o Pomocníkovi

Základný sprievodca prácou s údajmi v cloude (elektronická kniha)

Prehľad cloudu

Údajový hárok servera SQL Server 2017

Vizuálny súhrn nových funkcií

Porovnanie verzií servera Microsoft SQL Server

Súhrn funkcií podľa verzií

Vydania servera Microsoft SQL Server Express

Stiahnuť SQL Server Express 2017

Ukážkové databázy SQL

Stiahnuť ukážkové databázy

Na začiatok stránky

Rozšírte svoje zručnosti práce s balíkom Office
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×