Perkėlus duomenis iš „Access“ į „SQL Server“ dabar turite kliento / serverio duomenų bazę, kuri gali būti vietinis arba hibridinis „Azure“ debesų sprendimas. Bet kuriuo atveju „Access“ dabar yra pateikčių sluoksnis ir „SQL Server“ yra duomenų sluoksnis. Dabar yra tinkamas metas iš naujo apsvarstyti sprendimo aspektus, ypač užklausų veikimą, saugą ir verslo tęstinumą, kad galėtumėte patobulinti ir sumažinti duomenų bazės sprendimą.
„Access“ vartotojui pirmas susitikimas su „SQL Server“ ir „Azure“ dokumentai gali būti gąsdinantis. Šis vadovas supažindins jus su svarbiausia informacija. Kai baigsite šią „ekskursiją“, būsite pasirengę susipažinti su duomenų bazės technologijų pažanga ir leistis į ilgesnę kelionę.
Šiame straipsnyje
Duomenų bazės valdymas |
Užklausos ir atitikimas |
Duomenų tipai |
Įvairios |
Verslo tęstinumo užtikrinimas
Jei norite, kad jūsų „Access“ sprendimas būtų nustatytas ir vykdomas su minimaliais pertrūkiais, tačiau „Access“ vidinės duomenų bazės parinktys yra ribotos. „Access“ duomenų bazės atsarginės kopijos kūrimas yra labai svarbus siekiant apsaugoti jūsų duomenis, bet tam reikia, kad jūsų vartotojai būtų neprisijungę. Be to, yra neplanuotos prastovos, kylančios dėl aparatūros / programinės įrangos priežiūros patobulinimų, tinklo ar elektros tiekimo nutraukimo, aparatinės įrangos gedimo, saugos pažeidimų ar net kibernetinių atakų. Jei norite sumažinti prastovas ir įtaką verslui, galite sukurti atsarginę SQL serverio duomenų bazės kopiją, kol ji bus naudojama. Be to, „SQL Server“ taip pat siūlo didelį pasiekiamumą (HA) ir avarinio atkūrimo (DR) strategijas. Šios dvi derinamos technologijos vadinamos HADR. Daugiau informacijos žr. Verslo tęstinumas ir duomenų bazės atkūrimas ir Verslo tęstinumo užtikrinimas naudojant su „SQL Server“ (el. knyga).
Atsarginė kopija naudojant
„SQL Server“ naudoja internetinį atsarginio kopijavimo procesą, kuris gali įvykti, kol veikia duomenų bazė. Galite atlikti visą atsarginę kopiją, dalį atsarginės kopijos arba failo atsarginę kopiją. Atsarginis kopijavimas nukopijuoja duomenis ir operacijų žurnalus, kad būtų užtikrinta visiško atkūrimo operacija. Ypač naudodami vietinį sprendimą atkreipkite dėmesį į paprasto ir visiško atkūrimo parinkčių skirtumus ir į tai, kaip jie veikia operacijų žurnalo apimtį. Daugiau informacijos ieškokite dalyje Atkūrimo modeliai.
Dauguma atsarginio kopijavimo operacijų atsiranda iš karto, išskyrus failų tvarkymą ir duomenų bazės sumažinimą. Ir atvirkščiai, jei bandysite sukurti arba panaikinti duomenų bazės failą, kai vykdoma atsarginio kopijavimo operacija, operacija nepavyks. Daugiau informacijos ieškokite dalyje Atsarginio kopijavimo peržvalga.
HADR
Du dažniausiai naudojami būdai, kaip pasiekti aukštą pasiekiamumą ir verslo tęstinumą, yra dubliavimas ir grupavimas. SQL serveris integruoja dubliavimo ir grupavimo technologiją su „Visada permetimo kompiuterių grupėje atvejais“ ir „Visada prieinamumo grupėse“.
Dubliavimas yra duomenų bazė tęstinis sprendimas, kuris palaiko tiesioginį permetimą, palaikydamas laukimo duomenų bazę, visą aktyvios duomenų bazės kopiją arba aktyvios duomenų bazės dubliavimą atskiroje aparatinėje įrangoje. Jis gali veikti naudojant sinchroninį (aukštos saugos) režimą, kai gaunama operacija yra įsipareigojusi visiems serveriams tuo pačiu metu arba asinchroninį (didelio našumo) režimą, kai gaunama operacija yra vykdoma aktyvioje duomenų bazėje, o paskui iš naujo nustatytas punktas kopijuojamas į dubliavimą. Dubliavimas yra duomenų bazės lygio sprendimas ir veikia tik su duomenų bazėmis, kuriose naudojamas visas atkūrimo modelis.
Sankaupos yra serverio lygio sprendimas, kuris sujungia serverius į vieną duomenų saugyklą, kuri atrodo kaip vienintelis egzempliorius. Vartotojai prisijungia prie egzemplioriaus ir niekada neprivalo žinoti, kuris serveris šiuo metu yra aktyvus. Jei sugenda vienas serveris arba jis turi būti atjungiamas dėl priežiūros darbų, vartotojo sąsaja nepasikeičia. Kiekvienas serveris grupėje stebimas kompiuterių grupės tvarkytuvo, kad aptiktų, kada aktyvinama kompiuterių grupė, ir bando sklandžiai perjungti į kitą grupės serverį, nors yra perjungimo laiko delsa (kintanti).
Norėdami gauti daugiau informacijos, žr. Visada prieinamų perėmimo klasterių egzemplioriai ir Visada prieinamos pasiekiamumo grupės: didelio prieinamumo ir avarinio atkūrimo sprendimas.
„SQL Server“ sauga
Nors „Access“ duomenų bazę galite apsaugoti naudodami patikimumo centrą ir duomenų bazės šifravimą, „SQL Server“ turi daugiau išplėstinių saugos funkcijų. Apžvelkime tris „Access“ vartotojo galimybes. Daugiau informacijos žr. „SQLServer“ apsauga.
Autentifikavimas
„SQL Server“ yra keturi duomenų bazės autentifikavimo metodai, kuriuos galite nurodyti ODBC jungimosi eilutėje. .For more information, see Link to or import data from an Azure SQL Server Database. Kiekvienas metodas turi savų pranašumų.
Integruotasis „Windows“ autentifikavimas Naudokite „Windows“ kredencialus, jei reikia vartotojo tikrinimo, saugos vaidmenų ir vartotojų ribojimo prie funkcijų ir duomenų. Galite naudotis domeno kredencialais ir lengvai valdyti vartotojo teises naudodami taikomąją programą. Pasirinktinai įveskite tarnybos principo pavadinimą (SPN). Daugiau informacijos žr. Autentifikavimo režimo pasirinkimas.
„SQL Server“ autentifikavimas Pirmą kartą sesijos metu pasiekiant duomenų bazę vartotojams reikia prisijungti naudojant duomenų bazėje nustatytus kredencialus įvedant prisijungimo ID ir slaptažodį. Daugiau informacijos žr. Autentifikavimo režimo pasirinkimas.
„Azure Active Directory“ integruotas autentifikavimas Prisijunkite prie „Azure SQL Server“ duomenų bazės naudodami „Azure Active Directory“. Sukonfigūravus „Azure Active Directory“ autentifikavimą nėra būtina nurodyti papildomos prisijungimo ir slaptažodžio informacijos. Daugiau informacijos žr. Prisijungimas prie SQL duomenų bazės, naudojant „Azure Active Directory“ autentifikavimą.
„Active Directory“ slaptažodžio autentifikavimas Prisijunkite naudodami kredencialus, nustatytus „Azure Active Directory“ įvesdami prisijungimo vardą ir slaptažodį. Daugiau informacijos žr. Prisijungimas prie SQL duomenų bazės, naudojant „Azure Active Directory“ autentifikavimą.
Patarimas Naudokite grėsmių aptikimo funkciją, kad gautumėte įspėjimus apie duomenų bazės veiklą, nurodančius galimus saugos pavojus „Azure SQL Server“ duomenų bazėje. Daugiau informacijos žr. SQL duomenų bazės grėsmių nustatymas.
Taikomosios programos sauga
„SQL Server“ turi dvi programų lygio saugos funkcijas, kuriomis galite pasinaudoti naudodami „Access“.
Dinaminis duomenų maskavimas Paslėpkite slaptą informaciją maskuodami duomenis iš neprivilegijuotų vartotojų. Pavyzdžiui, iš dalies arba visiškai galite paslėpti socialinio draudimo numerius.
Dalinis duomenų šablonas |
Visas duomenų šablonas |
Yra keli būdai, kaip galite apibrėžti duomenų šabloną, ir galite taikyti juos skirtingiems duomenų tipams. Duomenų maskavimo funkcija yra strategija, kuri orientuota į lentelės ir stulpelio lygį, skirtą apibrėžtam vartotojų skaičiui, ir pritaikoma užklausai realiuoju laiku. Daugiau informacijos žr. Dinaminis duomenų maskavimas.
Eilutės lygio sauga Naudodami eilutės lygio saugą galite kontroliuoti prieigą prie tam tikrų duomenų bazių eilučių ir konfidencialią informaciją pagal vartotojo ypatybes. Duomenų bazės sistema taiko šiuos prieigos apribojimus ir dėl to saugos sistema tampa patikimesnė ir sveikesnė.
Yra dviejų tipų saugos taisyklės sąlygos:
-
Filtro taisyklės sąlyga filtruoja eilutes iš užklausos. Filtras yra skaidrus ir galutinis vartotojas neįtaria apie jokį filtravimą.
-
Blokavimo taisyklės sąlyga apsaugo nuo neleistino veiksmo ir meta išimtį, jei veiksmo atlikti negalima.
Daugiau informacijos ieškokite Eilutės lygio sauga.
Duomenų apsauga naudojant šifravimą
Apsaugokite duomenis poilsiaudami, perkeldami arba naudodami be jokios įtakos duomenų bazės veikimui. Daugiau informacijos žr. „SQL Server“ šifravimas.
Šifravimas poilsiaujant Norėdami apsaugoti asmeninius duomenis nuo autonominių medijos atakų fiziniame saugyklos sluoksnyje, naudokite šifravimą poilsio metu, dar vadinamą skaidriu duomenų šifravimu (TDE). Tai reiškia, kad jūsų duomenys yra apsaugoti, net jei fizinė medija buvo pavogta arba netinkamai pašalinta. TDE realiuoju laiku atlieka duomenų bazių, atsarginių kopijų ir operacijų žurnalų šifravimą ir iššifravimą, nereikalaudama jokių pakeitimų jūsų taikomosiose programose.
Šifravimo naudojimas perkeliant Kad apsisaugotumėte nuo šnipinėjimo ir „vidurio puolėjo“ atakų galite šifruoti duomenis, perduodamus tinkle. „SQL Server“ palaiko transportavimo lygmens saugą (TLS) 1.2. labai saugiems ryšiams. TDS protokolas taip pat naudojamas apsaugoti ryšius per nepatikimus tinklus.
Šifravimo naudojimas kliente Jei norite apsaugoti asmeninius duomenis naudodami, turite naudoti funkciją Visada šifruota. Asmeniniai duomenys užšifruojami ir iššifruojami kliento kompiuteryje, neatskleidžiant šifravimo raktų duomenų bazės modeliui. Todėl šifruoti duomenys rodomi tik tiems, kurie atsakingi už tų duomenų valdymą, o ne kitiems labai privilegijuotiems vartotojams, kurie neturi prieigos. Atsižvelgiant į pasirinktą šifravimo tipą, naudojant funkciją Visada šifruota gali būti ribojamas duomenų bazės funkcionalumas, pvz., ieška, grupavimas ir šifruotų stulpelių indeksavimas.
Privatumo problemų tvarkymas
Susirūpinimas dėl privatumo yra toks platus, kad Europos Sąjunga nustatė teisinius reikalavimus pagal Bendrąjį duomenų apsaugos reglamentą (BDAR). Laimei, „SQL Server“ galinis serveris puikiai tinka norint atitikti šiuos reikalavimus. Pagalvokite apie tai, kaip įgyvendinti BDAR trimis veiksmais.
1 veiksmas. Įvertinkite ir valdykite atitikties riziką
BDAR reikia nustatyti ir inventorizuoti asmeninę informaciją lentelėse ir failuose. Ši informacija gali būti bet koks vardas, nuotrauka, el. pašto adresas, banko rekvizitai, skelbiami socialinių tinklų žiniatinklio svetainių, medicininės informacijos ar net IP adreso įrašai.
Naujas įrankis SQL duomenų aptikimas ir klasifikavimas, integruotas į „SQL Server Management Studio“, padeda atrasti, klasifikuoti, žymėti ir pranešti apie slaptus duomenis stulpeliams pritaikant du metaduomenų atributus:
-
Etiketės Jei norite nustatyti duomenų slaptumą.
-
Informacijos tipai Jei norite suteikti stulpelyje įrašytiems duomenų tipams papildomo detalumo.
Kitas aptikimo mechanizmas, kurį galite naudoti, yra viso teksto ieška, apimanti taisyklių sąlygas CONTAINS ir FREETEXT ir eilutės rinkinio vertės funkcijas, pvz., CONTAINSTABLE ir FREETEXTTABLE, kad būtų naudojamos su sąlyga SELECT. Naudodami viso teksto iešką, galite ieškoti lentelių, kad rastumėte žodžius, žodžių kombinacijų ar žodžių variantų, pvz., sinonimų arba linksniuojamų formų. Daugiau informacijos žr. Viso teksto ieška.
2 veiksmas. Asmeninės informacijos sauga
BDAR reikalinga jūsų asmeninė informacija ir prieigos prie jo apribojimas. Be standartinių veiksmų, kuriuos galite atlikti norėdami valdyti prieigą prie tinklo ir išteklių, pvz., užkardos parametrų, galite naudoti „ SQL Server“ saugos funkcijas, padedančias valdyti duomenų prieigą:
-
„SQL Server“ autentifikavimas vartotojo tapatybei valdyti ir apsisaugoti nuo neteisėtos prieigos.
-
Eilutės lygio sauga, kad būtų apribota prieiga prie lentelės eilučių, atsižvelgiant į vartotojo ir tų duomenų ryšį.
-
Dinaminis duomenų maskavimas, kad būtų ribojamas asmeninių duomenų atskleidimas neprivilegijuotiems vartotojams.
-
Šifravimas, kad būtų užtikrinta, jog asmeniniai duomenys būtų apsaugoti siuntimo ir saugojimo metu ir būtų apsaugoti nuo kompromisų, įskaitant serverio pusėje.
Daugiau informacijos žr. „SQL Server“ sauga.
3 veiksmas. Efektyvus atsakas į užklausas
BDAR reikia tvarkyti asmeninių duomenų tvarkymo įrašus ir padaryti šiuos įrašus prieinamus, jei jų paprašo priežiūros institucijos. Jei atsiranda problemų, įskaitant atsitiktinį duomenų išleidimą, apsaugos valdikliai leidžia greitai atsakyti. Duomenys turi būti greitai pasiekiami, kai reikia ataskaitų. Pvz., BDAR reikalauja, kad apie asmens duomenų pažeidimus būtų pranešama priežiūros institucijai „ne vėliau kaip per 72 valandas po to, kai apie tai sužinojo“.
„SQL Server 2017“ padeda jums atlikti ataskaitų užduotis keliais būdais:
-
„SQL Server“ auditas padeda užtikrinti, kad yra duomenų bazės prieigos ir apdorojimo veiksmų įrašų. Jis atlieka numanomą auditą, kuris seka duomenų bazės veiklą, kad būtų lengviau suprasti ir nustatyti galimas grėsmes, įtariamus pažeidimus ar saugos pažeidimus. Galite lengvai atlikti duomenų ekspertizę.
-
„SQL Server“ laikinos lentelės yra sistemos versijos vartotojo lentelės, skirtos išlaikyti visą duomenų pakeitimų retrospektyvą. Galite naudoti jas, kad galėtumėte lengvai atsiskaityti ir atlikti tam tikrą laiką.
-
SQL pažeidžiamumo vertinimas Aptikus problemą, taip pat galite detalizuoti duomenų bazės skaitymo ataskaitas, kad rastumėte sprendimo veiksmus.
Jei reikia daugiau informacijos, žr. Pasitikėjimo platformos kūrimas (e. knyga) ir Kelionė į BDAR atitiktį.
Duomenų bazės kopijų kūrimas
Duomenų bazės momentinė kopija yra skirta tik skaityti, tai statinis SQL serverio duomenų bazės rodinys tam tikru momentu. Nors galite nukopijuoti „Access“ duomenų bazės failą, kad galėtumėte efektyviai sukurti duomenų bazės momentinę kopiją, „Access“ neturi įtaisytosios metodologijos kaip „SQL Server“. Duomenų bazės momentinę kopiją galite naudoti norėdami rašyti ataskaitas pagal duomenų bazės momentinės kopijos duomenis kūrimo metu. Taip pat galite naudoti duomenų bazės momentinę kopiją, kad išlaikytumėte istorinius duomenis, pvz., kiekvieno finansinio ketvirčio duomenis, kuriuos naudosite norėdami sukurti laikotarpio pabaigos ataskaitas. Rekomenduojame tokį planą:
-
Momentinės kopijos pavadinimas Kiekviena duomenų bazės momentinė kopija turi unikalų duomenų bazės pavadinimą. Įtraukite paskirtį ir laiką į pavadinimą, kad būtų lengviau atpažinti. Pvz., jei norite, kad būtų sukurta momentinė „AdventureWorks“ duomenų bazės nuotrauka tris kartus per dieną 6 valandų intervalais nuo 6:00 iki 18:00, atsižvelgiant į 24 valandų laikrodį, pavadinkite jas AdventureWorks_snapshot_0600, AdventureWorks_snapshot_1200 ir AdventureWorks_snapshot_1800.
-
Apribokite momentinių kopijų skaičių Kiekviena duomenų bazės momentinė kopija išlieka, kol ji bus aiškiai pašalinta. Kiekviena momentinė kopija toliau plėsis, todėl galite taupyti vietą diske panaikindami senesnę kopiją ir sukūrę naują momentinę kopiją. Pavyzdžiui, jei darote kasdienes ataskaitas, saugokite duomenų bazės momentinę kopiją 24 valandas, tada ją pašalinkite ir pakeiskite į naują.
-
Prisijungimas prie tinkamos momentinės nuotraukos Norint naudoti duomenų bazės momentinę kopiją, „Access“ sąsaja turi žinoti reikiamą vietą. Kai naują momentinę kopiją pakeičiate esamu, reikia nukreipti „Access“ į naują momentinę kopiją. Įtraukite logiką į „Access“ sąsają, kad įsitikintumėte, jog prisijungiate prie tinkamos duomenų bazės momentinės kopijos.
Štai kaip galima sukurti duomenų bazės momentinę kopiją:
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;
Daugiau informacijos žr. Duomenų bazės momentinės kopijos („SQL Server“).
Sutapimo valdiklis
Kai dauguma žmonių bando modifikuoti duomenis duomenų bazėje tuo pačiu metu, reikia turėti kontrolės sistemą, kad vieno asmens atlikti keitimai nepakenktų kito asmens keitimams. Tai vadinama sutapimo kontrole ir yra dvi pagrindinės fiksavimo strategijos – pesimistinė ir optimistinė. Blokavimas gali neleisti vartotojams modifikuoti duomenų tokiu būdu, kuris paveikia kitus vartotojus. Blokavimas taip pat padeda užtikrinti duomenų bazės vientisumą, ypač naudojant užklausas, kurios kitu atveju gali pateikti netikėtų rezultatų. Yra svarbių skirtumų, kaip „Access“ ir „SQL Server“ įgyvendina šias suderinimo kontrolės strategijas.
„Access“ numatytoji fiksavimo strategija yra optimistinė ir suteikia užrakinimo teises pirmajam asmeniui, kuris bando rašyti įrašą. „Access“ kitam asmeniui rodo dialogo langą Įrašymo konfliktas, kai jis bando rašyti tą patį įrašą tuo pačiu metu. Kad išspręstumėte konfliktą, kitas asmuo gali įrašyti įrašą, nukopijuoti jį į mainų sritį arba atsisakyti keitimų.
Taip pat galite naudoti ypatybę Įrašų užraktai, kad pakeistumėte sutapimo valdymo strategiją. Ši ypatybė paveikia formas, ataskaitas ir užklausas, joje yra trys parametrai:
-
Užrakinimo nėra Formoje vartotojai gali mėginti redaguoti tą patį įrašą tuo pačiu metu, tačiau gali būti rodomas dialogo langas Įrašymo konfliktas. Ataskaitose, kai jos peržiūrimos arba spausdinamos, įrašai neužrakinami. Užklausose įrašai neužrakinami, kai užklausa vykdoma. Tai yra „Access“ būdas, kaip įdiegti optimistinį užraktą.
-
Visi įrašai Visi pamatinių lentelių arba užklausų įrašai užrakinami, kai forma atidaryta formos rodinyje arba duomenų lapo rodinyje, kai ataskaita peržiūrima arba spausdinama arba kai vykdoma užklausa. Vartotojai gali skaityti įrašus užrakinimo metu.
-
Redaguotas įrašas Taikoma tik formoms ir užklausoms. Įrašų puslapis užrakinamas, kai tik bet kuris vartotojas pradeda redaguoti bet kurį įrašo lauką, ir lieka užrakintas, iki vartotojas pereis į kitą įrašą. Todėl įrašą vienu metu gali redaguoti tik vienas vartotojas. Tai yra „Access“ būdas, kaip įdiegti pesimistinį užraktą.
Norėdami gauti daugiau informacijos, žr. Dialogo langas Įrašymo konfliktas ir Ypatybė Įrašų užraktai.
„SQL Server“ sutapimo valdiklis veikia taip:
-
Pesimistinis Po to, kai vartotojas atlieka veiksmą, dėl kurio pritaikytas užraktas, kiti vartotojai negali atlikti veiksmų, kurie gali būti nesuderinami su užraktu, kol savininkas jo nepanaikina. Šis sutapimo valdiklis dažniausiai naudojamas aplinkoms, kuriose aukštas duomenų tvirtinimo lygis.
-
Optimistinis Optimistiniu sutapimo valdiklio atveju vartotojai neužrakina duomenų, kai juos skaito. Kai vartotojas atnaujina duomenis, sistema patikrina, ar kitas vartotojas pakeitė duomenis po to, kai buvo perskaityta. Jei kitas vartotojas atnaujino duomenis, pateikiama klaida. Paprastai vartotojas, gaunantis klaidą, atšaukia operaciją ir pradeda iš naujo. Šis sutapimo valdiklis dažniausiai naudojamas aplinkoms, kuriose mažas duomenų tvirtinimo lygis.
Galite nurodyti sutapimo valdiklio tipą pasirinkdami kelis operacijų izoliavimo lygius, kurie apibrėžia operacijos apsaugos lygį iš kitų operacijų atliktų modifikacijų, naudodami teiginį SET TRANSACTION:
SET TRANSACTION ISOLATION LEVEL
{ READ UNCOMMITTED
| READ COMMITTED
| REPEATABLE READ
| SNAPSHOT
| SERIALIZABLE
}
Izoliavimo lygis |
Aprašas |
Skaityti neįsipareigojus |
Operacijos izoliuojamos tik tiek, kad būtų užtikrinta, jog nebus perskaityti fiziškai sugadinti duomenys. |
Skaityti įsipareigojus |
Operacijos gali nuskaityti duomenis, kuriuos anksčiau skaito kita operacija, nelaukiant, kol bus baigta pirmoji operacija. |
Pakartotinis skaitymas |
Skaitymo ir rašymo spynos atsiranda pasirinktuose duomenyse iki operacijos pabaigos, tačiau gali įvykti fiktyvus perskaitymas. |
Momentinė kopija |
Naudoja eilutės versiją, kad pateiktų operacijos lygio skaitymo nuoseklumą. |
Išdėstoma eilutėmis |
Operacijos visiškai atskirtos viena nuo kitos. |
Daugiau informacijos žr. Operacijų užrakinimo ir eilučių versijų kūrimo vadovas.
Pagerinkite užklausų rezultatus
Jei turite „Access“ užklausų leidimo užklausą, pasinaudokite sudėtingesniais būdais, kad „SQL Server“ galėtų padaryti jį efektyvesnį
Skirtingai nei „Access“ duomenų bazėje, „SQL Server“ pateikia lygiagrečias užklausas, kurios optimizuoja užklausų vykdymą ir indekso operacijas kompiuteriams, kuriuose yra daugiau nei vienas mikroprocesorius (CPU). Kadangi „SQL Server“ gali atlikti užklausos arba indekso operaciją lygiagrečiai, naudodamas keletą sistemos darbuotojų siūlų, operacija gali būti užbaigta greitai ir efektyviai.
Užklausos – tai svarbus komponentas tobulinant bendrą jūsų duomenų bazės sprendimą. Blogos užklausos veikia neribotą laiką, skirtą laiką ir naudoja išteklius, pvz., CPU, atmintis ir tinklą „Bandit“. Tai trukdo gauti svarbią verslo informaciją. Net viena bloga užklausa gali sukelti rimtų duomenų bazės veiklos sutrikimų.
Daugiau informacijos žr. Greitesnis užklausų teikimas naudojant „SQL Server“ (el. knyga).
Užklausų optimizavimas
Keli įrankiai veikia kartu, kad padėtų analizuoti užklausos rezultatus ir ją patobulinti: Užklausų optimizavimas, vykdymo planai ir užklausų saugyklos.
Užklausų optimizavimas
Užklausų optimizavimo priemonė yra vienas svarbiausių „SQL Server“ komponentų. Naudodami užklausų optimizavimo priemonę galite analizuoti užklausą ir nustatyti veiksmingiausią būdą pasiekti reikiamus duomenis. Užklausų optimizavimo įvestį sudaro užklausa, duomenų bazės schemos (lentelių ir indeksų apibrėžimai) ir duomenų bazės statistika. Užklausų optimizavimo išvestis yra vykdymo planas.
Daugiau informacijos žr. „SQL Server“ užklausų optimizavimo priemonė.
Vykdymo planas
Vykdymo planas yra apibrėžimas, kuris seka šaltinio lenteles „Access“, ir metodai, naudojami duomenims iš kiekvienos lentelės išskleisti. Optimizavimas yra vieno vykdymo plano pasirinkimo procesas iš potencialiai daugelio planų. Kiekvienas galimas vykdymo planas turi susijusią kainą, kurią naudoja naudojami skaičiavimų ištekliai, ir užklausų optimizavimo priemonė pasirenka tą, kurioje yra mažiausia apskaičiuota kaina.
„SQL Server“ taip pat turi dinamiškai prisitaikyti prie besikeičiančių sąlygų duomenų bazėje. Jei užklausų vykdymo planuose yra regresijos, tai gali turėti įtakos veikimui. Atlikus tam tikrus duomenų bazės pakeitimus, vykdymo planas gali būti neveiksmingas arba netinkamas, atsižvelgiant į naują duomenų bazės būseną. „SQL Server“ aptinka pakeitimus, kurie anuliuoti vykdymo planą, ir pažymi planą kaip neleistiną.
Naujas planas turi būti perkompiliuotas kitam ryšiui, kuris vykdo užklausą. Sąlygos, kurios apima planą, apima:
-
Keitimai, atlikti su lentele arba rodiniu, nurodomu užklausoje (ALTER TABLE ir ALTER VIEW).
-
Keitimų, kuriuos naudoja vykdymo planas, keitimai.
-
Statistikos, kurią naudoja vykdymo planas, naujinimai, sukurti tiesiogiai iš teiginio, pvz., naujinimo statistika arba automatiškai.
Daugiau informacijos ieškokite dalyje Vykdymo planai.
Užklausų saugykla
Užklausų saugykla teikia įžvalgų apie vykdymo plano pasirinkimą ir veiksmingumą. Jis supaprastina veiklos triktis, padedama greitai rasti produktyvumo skirtumų dėl vykdymo plano pakeitimų. Užklausų saugykla surenka telemetrijos duomenis, pvz., užklausų, planų, vykdyklės statistikos retrospektyvą ir laukimo statistiką. Naudokite sakinį ALTER DATABASE, kad įdiegtumėte užklausų saugyklą:
ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;
Daugiau informacijos žr. produktyvumo stebėjimas naudojant Užklausų saugyklą.
Automatinis plano taisymas
Turbūt lengviausias būdas patobulinti užklausų veiksmingumą yra automatinis plano taisymas, kuris yra funkcija, pasiekiama naudojant „Azure SQL“ duomenų bazę. Ką tik įjungėte ir tegul jis veikia. Jis nuolat atlieka vykdymo plano stebėseną ir analizę, aptinka problemišką vykdymo planą ir automatiškai išsprendžia veiklos problemas. Už scenos, automatinis plano koregavimas naudoja keturių veiksmų strategiją, kaip išmokti, pritaikyti, patvirtinti ir kartoti.
Daugiau informacijos žr. Automatinis derinimas.
Adaptyvusis užklausų apdorojimas
Taip pat galite greičiau gauti užklausas naujindami į „SQL Server 2017“, kurioje yra nauja funkcija, vadinama Adaptyvusis užklausų apdorojimas. SQL Server pritaiko užklausų plano pasirinkimus pagal vykdyklės ypatybes.
Vertinimas suderina eilučių, apdorotų kiekviename vykdymo plano veiksme, skaičių. Netikslūs įvertinimai gali sukelti lėtą užklausų atsako laiką, nereikalingų išteklių panaudojimą (atmintį, CPU ir IO), mažesnį pralaidumą ir sutapimą. Trys būdai naudojami prisitaikyti prie taikomosios programos darbo krūvio ypatybių:
-
Paketinio režimo atminties suteikimo atsiliepimai Prastas „svarbos“ įvertinimas gali sukelti užklausas į „išplėstą diską“ arba užimti per daug atminties. „SQL Server 2017“ reguliuoja atmintį pagal vykdymo atsiliepimus, pašalina disko išliejimus ir pagerina pasikartojančių užklausų sutapimą.
-
Paketinio režimo Adaptyvusis sujungimas Prisitaikanti jungtis dinamiškai pasirinkite geresnį vidinį sujungimo tipą (įdėtosios linijos jungtys, sulieti sujungimai arba maiša sujungtos) vykdymo metu, atsižvelgiant į faktines įvesties eilutes. Todėl planas gali dinamiškai pereiti prie geresnio sujungimo strategijos vykdymo metu.
-
Metaduomenų vykdymas Kelių sakinių lentelių reikšmių funkcijos tradiciškai buvo apdorojamos kaip juodasis laukas pagal užklausų apdorojimą. „SQL Server 2017“ gali geriau įvertinti eilučių skaičių, kad pagerintų tolesnius veiksmus.
Galite padaryti, kad darbo krūviai būtų automatiškai tinkami atlikti Adaptyvusis užklausų apdorojimas, nes įgalinsite duomenų bazės 140 suderinamumo lygį:
ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 140;
Norėdami gauti daugiau informacijos, žr. SQL duomenų bazių išmanusis užklausų apdorojimas.
Užklausų pateikimo būdai
„SQL Server“ yra keletas užklausų būdų ir kiekviena jų turi pranašumų. Norite sužinoti, kas jie yra, todėl galite pasirinkti tinkamą „Access“ sprendimo parinktį. Geriausias būdas sukurti TSQL užklausas yra interaktyviai redaguoti ir testuoti naudojant „SQL Server Management Studio“ (SSMS) „Transact-SQL“ rengyklę, kuri turi „IntelliSense“, padėsiančią jums pasirinkti tinkamus raktažodžius ir ieškoti sintaksės klaidų.
Rodiniai
„SQL Server“ rodinys yra tarsi virtuali lentelė, kurioje matyti duomenys gaunami iš vienos ar daugiau lentelių ar kitų rodinių. Tačiau rodiniai yra nurodyti kaip lentelės užklausos. Rodiniai gali nuslėpti užklausų sudėtingumą ir apsaugoti duomenis apribojant eilučių ir stulpelių rinkinį. Štai paprasto rodinio pavyzdys:
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;
Kad būtų optimaliai veikia ir redaguotumėte rodinio rezultatus, sukurkite indeksavimo rodinį, kuris išlieka duomenų bazėje, pvz., lentelėje, jam priskirtą saugyklą ir gali būti suabejojo, pvz., į bet kurią lentelę. Norėdami naudoti „Access“, susiekite su rodiniu taip pat, kaip susiejate su lentele. Štai indeksuoto rodinio pavyzdys:
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);
Tačiau yra apribojimų. Negalite naujinti duomenų, jei veikia daugiau nei viena pagrindinė lentelė arba rodinyje yra agregavimo funkcijų ar sąlyga DISTINCT. Jei „SQL Server“ pateikia klaidos pranešimą, kuriame sakoma, kad neaišku, kokį įrašą panaikinti, gali tekti į rodinį įtraukti naikinimo paleidiklį. Galiausiai, galite naudoti sąlygą ORDER BY, kaip naudojate „Access“ užklausoje.
Norėdami gauti daugiau informacijos, žr. Rodiniai ir Kurti indeksuotus rodinius.
Išsaugotos procedūros
Išsaugota procedūra yra vieno ar daugiau TSQL sakinių grupė, kuri turi įvesties parametrus, pateikia išvesties parametrus ir rodo sėkmę arba nesėkmę su būsenos verte. Jos veikia kaip tarpinis sluoksnis tarp „Access“ sąsajos „SQL Server“ vidinio serverio. Išsaugotos procedūros gali būti tokios pat paprastos kaip sakinys SELECT, arba sudėtingos kaip bet kuri kita programa. Pavyzdys:
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;
Kai naudojate išsaugotą procedūrą „Access“, ji paprastai grąžina rezultatų rinkinį atgal į formą arba ataskaitą. Tačiau ji gali atlikti kitus veiksmus, kurie nepateiks rezultatų, pvz., DDL ar DML sakinius. Kai naudojate prieigą prie užklausos, įsitikinkite, kad tinkamai nustatėte ypatybę Grąžina įrašus .
Daugiau informacijos žr. Išsaugotos procedūros.
Bendrosios lentelės reiškiniai
Bendrosios lentelės reiškiniai (Common Table Expressions, CTE) yra tarsi laikina lentelė, kuri generuoja įvardytąjį rezultatų rinkinį. Jis galioja tik vienai užklausai arba DML sakiniui vykdyti. CTE kuriama ta pačia kodo eilute kaip ir sakiniai SELECT arba DML, kurie jį naudoja, o laikinosios lentelės ar rodinio kūrimas ir naudojimas paprastai yra dviejų veiksmų procesas. Pavyzdys:
-- 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 turi kelis pranašumus, įskaitant šiuos:
-
CTE yra trumpalaikiai, nes jų nereikia sukurti kaip ilgalaikių duomenų bazės objektų, pvz., rodinių.
-
Galite nurodyti tą patį CTE daugiau nei vieną kartą užklausoje arba DML išraše, kad būtų lengviau valdyti kodą.
-
Galite naudoti užklausas, kurios nurodo CTE kaip apibrėžtą žymiklį.
Daugiau informacijos žr. WITH common_table_expression.
Vartotojo apibrėžiamos funkcijos
Vartotojo apibrėžta funkcija (UDF) gali atlikti užklausas ir apskaičiavimus ir grąžinti skaliarinių reikšmių arba duomenų rezultatų rinkinius. Jos yra panašios į programavimo kalbas, kurios priima parametrus, atlieka veiksmus, pvz., sudėtinę apskaičiavimo funkciją, ir grąžina to veiksmo rezultatą kaip reikšmę. Pavyzdys:
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 turi tam tikrų apribojimų. Pavyzdžiui, jie negali naudoti tam tikrų ne deterministinės sistemos funkcijų, atlikti DML arba DDL sakinius arba daryti dinamiškas SQL užklausas.
Norėdami gauti daugiau informacijos, žr. žr Vartotojo apibrėžtos funkcijos.
Raktų ir rodyklių įtraukimas
Nesvarbu, kokią duomenų bazės sistemą naudojate, klavišai ir rodyklės bus greta.
Raktai
Jei naudojate „SQL Server“, įsitikinkite, kad kuriate kiekvienos lentelės pirminius raktus ir kiekvienos susijusios lentelės išorinius raktus. Lygiavertė „SQL Server“ funkcija „Access“ automatinio numeravimo duomenų tipui yra TAPATYBĖS ypatybė, kuri gali būti naudojama pagrindinėms reikšmėms kurti. Pritaikius šią ypatybę bet kuriame skaitiniame stulpelyje, ji tampa skirta tik skaityti ir tvarkoma pagal duomenų bazės sistemą. Įterpus įrašą į lentelę, kurioje yra TAPATYBĖS stulpelis, sistema automatiškai padidina tapatybės stulpelio reikšmę 1, pradedant nuo 1, bet šias reikšmes galite valdyti naudodami argumentus.
Daugiau informacijos žr. LENTELĖS KŪRIMAS, TAPATYBĖ (ypatybė).
Rodyklės
Kaip visada, indeksų pasirinkimas yra balansavimo veiksmas tarp užklausų greičio ir kainos atnaujinimo. „Access“ yra vieno tipo indeksas, bet „SQL Server“ yra dvylika. Laimei, galite naudoti užklausų optimizavimo priemonę, kuri padės jums patikimai parinkti tinkamiausią rodyklę. Be to, naudodami „Azure SQL“ galite naudoti automatinį rodyklės valdymą, automatinio derinimo funkciją, kurioje rekomenduojama įtraukti arba pašalinti rodykles. Skirtingai nei „Access“, turite sukurti savo „SQL Server“ išorinių raktų rodykles. Taip pat galite kurti rodykles rodyklių rodinyje, kad padidintumėte užklausų vykdymą. Neigiamas rodyklių rodinio aspektas yra padidėjęs laikas, kai modifikuojate duomenis rodinio pagrindinėse lentelėse, nes turi būti atnaujintas ir rodinys. Daugiau informacijos žr. „SQL Serve indeksavimo architektūros ir dizaino vadovas ir Rodyklės.
Operacijų atlikimas
Kai naudojate „Access“, atlikti operacijas internetu (OLTP) gana sunku, tačiau sąlyginai lengva jas atlikti naudojant „SQL Server“. Operacija yra atskiras darbo vienetas, kuris padaro visus duomenų pakeitimus, kai pavyksta, bet atšaukia pakeitimus, kai nesėkmingas. Operacija turi turėti keturias ypatybes, dažnai vadinamas trumpiniu ACID:
-
Atominė galia (Atomicity) Operacija turi būti atominis darbo vienetas; atliekami visi jos duomenų pakeitimai arba jų atlikti negalima.
-
Nuoseklumas (Consistency) Baigus operaciją, visi duomenys turi būti nuoseklūs. Tai reiškia, kad taikomos visos duomenų vientisumo taisyklės.
-
Izoliavimas (Isolation) Atlikti lygiagrečių operacijų pakeitimai atskirti nuo dabartinės operacijos.
-
Patvarumas (Durability) Baigus operaciją, keitimai bus nuolatiniai net sistemos gedimo atveju.
Naudojate operaciją, kad užtikrintumėte, jog garantuojamas duomenų vientisumas, pvz., bankomatų grynųjų pinigų atšaukimas arba automatinis grynųjų patikros užstatas. Galite atlikti aiškias, numanomas ar paketinis operacijas. Čia pateikiami du TSQL pavyzdžiai:
-- 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;
Daugiau informacijos ieškokite dalyje Operacijos.
Apribojimų ir paleidiklių naudojimas
Visos duomenų bazės turi būdų, kaip išlaikyti duomenų vientisumą.
Apribojimai
„Access“ įgalinate nuorodų vientisumą lentelių ryšyje per išorinio ir pirminio rakto poras, pakopinius naujinimus ir naikinimus, taip pat tikrinimo taisykles. Daugiau informacijos žr Lentelių ryšių vadovas ir Duomenų įvesties ribojimas naudojant tikrinimo taisykles.
„SQL Server“ naudojate UNIKALIUS ir PATIKROS apribojimus, kurie yra duomenų bazės objektai, įgalinantys duomenų vientisumą „SQL Server“ lentelėse. Norėdami patikrinti, ar reikšmė galioja kitoje lentelėje, naudokite išorinio rakto ribojimus. Norėdami patikrinti, ar stulpelyje esanti reikšmė yra konkrečiame diapazone, naudokite patikros apribojimą. Šie objektai yra jūsų pirmoji gynybos linija ir skirti veikti efektyviai. Daugiau informacijos žr. Unikalūs apribojimai ir patikros apribojimai.
Paleidikliai
„Access“ neturi duomenų bazių paleidiklių. „SQL Server“ galite naudoti paleidiklius, kad būtų galima vykdyti sudėtingas duomenų vientisumo taisykles ir vykdyti šią verslo logiką serveryje. Duomenų bazės paleidiklis yra išsaugota procedūra, kuri vykdoma, kai duomenų bazėje atsiranda specifiniai veiksmai. Paleidiklis – tai įvykis, pvz., įtraukti arba panaikinti įrašą lentelę, kurie sužadina ir tada vykdo išsaugotą procedūrą. Nors „Access“ duomenų bazė gali užtikrinti nuorodų vientisumą, kai vartotojas bando atnaujinti arba panaikinti duomenis, „SQL Server“ yra sudėtingas paleidiklių rinkinys. Pavyzdžiui, galite paleisti programą, kad panaikintumėte įrašus dideliais kiekiais ir užtikrintumėte duomenų vientisumą. Galite netgi įtraukti paleidiklius į lenteles ir rodinius.
Daugiau informacijos žr. Paleidikliai – DML, Paleidikliai – DDLirPaleidiklio T-SQL projektavimas.
Apskaičiuojamųjų stulpelių naudojimas
Programoje „Access“ galite sukurti apskaičiuojamąjį stulpelį įtraukdami jį į užklausą ir kurdami reiškinį, pvz.:
Extended Price: [Quantity] * [Unit Price]
„SQL Server“ lygiavertė funkcija vadinama apskaičiuojamuoju stulpeliu, kuris yra virtualus stulpelis, fiziškai nesaugomas lentelėje, išskyrus atvejus, kai stulpelis nepažymimas. Kaip ir apskaičiuojamasis stulpelis, apskaičiuojamasis stulpelis naudoja duomenis iš kitų į reiškinį sunaudotų stulpelių. Norėdami sukurti apskaičiuojamą stulpelį, įtraukite jį į lentelę. Pavyzdžiui:
CREATE TABLE dbo.Products
(
ProductID int IDENTITY (1,1) NOT NULL
, QtyAvailable smallint
, UnitPrice money
, InventoryValue AS QtyAvailable * UnitPrice
);
Daugiau informacijos žr. Apskaičiuotųjų stulpelių nurodymas lentelėje.
Duomenų laiko žymos
Kai sukuriamas įrašas, kartais įtraukiate lentelės lauką, kad įrašytumėte laiko žymą ir galėtumėte registruoti duomenų įrašą. „Access“ galite paprasčiausiai sukurti datos stulpelį, kuriame yra numatytoji =Now() reikšmė. Jei norite įrašyti datą ar laiką „SQL Server“, naudokite duomenų tipą datetime2, kurio numatytoji reikšmė yra SYSDATETIME().
Atminkite Neklaidinkite ROWVERSION į duomenis įtraukdami laiko žymą. „SQL Server“ raktažodžių laiko žyma yra ROWVERSION sinonimas, bet turėtumėte naudoti raktinių žodžių ROWVERSION. „SQL Server“ ROWVERSION yra duomenų tipas, kuris atskleidžia automatiškai sugeneruotus unikalius dvejetainius skaičius duomenų bazėje ir paprastai naudojamas kaip duomenų antspaudavimo lentelės eilučių mechanizmas. Tačiau ROWVERSION duomenų tipas yra tik didėjančių skaičių, tačiau neišsaugoma data ar laikas, jis nėra skirtas eilutės laikui antspauduoti.
Daugiau informacijos ieškokite ROWVERSION. Daugiau informacijos apie ROWVERSION naudojimą norint sumažinti įrašų konfliktus, žr. „Access“ duomenų bazės perkėlimas į „SQL Server“.
Didelių objektų valdymas
Programoje "Access" valdote nestruktūrizuotus duomenis, pvz., failus, nuotraukas ir vaizdus, naudodami priedo duomenų tipą. „SQL Server“ terminologijoje nestruktūriniai duomenys vadinami dideliu dvejetainiu objektu ir yra keletas būdų, kaip su jais dirbti:
FILESTREAM Naudoja duomenų tipą varbinary(max), kad nestruktūriniai duomenys būtų saugomi failų sistemoje, o ne duomenų bazėje. Daugiau informacijos žr. „Access“ FILESTREAM duomenys su „Transact-SQL“.
FileTable Saugo didelius dvejetainius objektus specialiosiose lentelėse, vadinamose FileTables, ir teikia suderinamumo su „Windows“ taikomosiomis programomis funkcijas, jei jos buvo saugomos failų sistemoje, nedarydamos jokių pakeitimų kliento taikomosiose programose. FileTable reikia naudoti FILESTREAM. Daugiau informacijos ieškokite FileTables.
Nuotolinė didelių dvejetainių objektų saugykla (RBS) Saugo didelius dvejetainius objektus (BLOB) produktų saugyklos sprendimuose, o ne tiesiogiai serveryje. Taip taupoma vieta ir sumažėja aparatinės įrangos ištekliai. Daugiau informacijos žr. Didelių dvejetainių objektų(BLOB) duomenys.
Darbas naudojant hierarchinius duomenis
Nors sąryšinės duomenų bazės, pvz., „Access“, labai lanksčios, darbas su hierarchiniais ryšiais yra išimtis ir dažnai reikia sudėtingų SQL sakinių arba kodų. Hierarchinių duomenų pavyzdžiai: organizacinė struktūra, failų sistema, kalbos terminų taksonomija ir tinklalapių nuorodų grafikas. SQL serveryje yra įtaisytasis duomenų tipas hierarchyid ir hierarchinių funkcijų rinkinys, kad būtų galima lengvai saugoti, užklausti ir tvarkyti hierarchinius duomenis.
Daugiau informacijos žr. Hierarchiniai duomenys ir Mokymas: duomenų tipo HierarchyId naudojimas.
JSON teksto valdymas
„JavaScript“ objekto žymėjimas (JSON) yra žiniatinklio tarnyba, kuri naudoja žmogaus perskaitomą tekstą, kad perduotų duomenis kaip atributus – reikšmių poras sąveikaujant asinchroninei naršyklei ir serveriui. Pavyzdžiui:
{
"firstName": "Mary",
"lastName": "Contrary",
"spouse": null,
"age": 27
}
„Access“ neturi įtaisytųjų būdų, kaip valdyti JSON duomenis, bet „SQL Server“ galite sklandžiai saugoti, indeksuoti, užklausti ir išskleisti JSON duomenis. Galite konvertuoti ir saugoti JSON tekstą lentelėje arba formatuoti duomenis kaip JSON tekstą. Pvz., galbūt norėsite formatuoti užklausų rezultatus kaip žiniatinklio taikomosios programos JSON arba įtraukti JSON duomenų struktūras į eilutes ir stulpelius.
Atminkite VBA nepalaiko JSON. Kaip alternatyvą galite naudoti XML VBA naudodami MSXML biblioteką.
Daugiau informacijos žr. JSON duomenys „SQL Server“.
Ištekliai
Dabar yra puikus metas daugiau sužinoti apie „SQL Server“ ir „Transact SQL“ (TSQL). Kai pastebėjote, yra daug funkcijų, pvz., „Access“, tačiau yra ir galimybių, kurių „Access“ paprastai neturi. Jei norite perkelti mokymąsi į kitą lygį, pateikiame keletą mokymosi išteklių:
Išteklius |
Aprašas |
Vaizdo įrašu pagrįstas kursas |
|
Mokymai apie „SQL Server 2017“ |
|
Dalyvavimas „Azure“ mokyme |
|
Tapimas specialistu |
|
Pagrindinis nukreipimo puslapis |
|
Žinyno informacija |
|
Žinyno informacija |
|
Debesies apžvalga |
|
Vaizdinė naujų funkcijų santrauka |
|
Funkcijų suvestinė pagal versijas |
|
Atsisiųskite „SQL Server Express 2017“ |
|
Atsisiųsti pavyzdines duomenų bazes |