Microsoft SQLServer
| Microsoft SQLServer | |||
|---|---|---|---|
| Osa relaatiotietokannan hallintajärjestelmää | |||
|
| |||
| Yleistä tietoa | |||
| ohjelmatyyppi | hallintajärjestelmän relaatiotietokanta | ||
| kehittäjä | Microsoft | ||
| ensimmäinen julkaisu | 24. huhtikuuta 1989 | ||
| Lisenssi | Microsoftin käyttöoikeussopimus | ||
| Tekninen informaatio | |||
| Aikataulutettu sisään | C , C++ | ||
| luettavia tiedostoja | |||
| |||
| muokattavat tiedostot | |||
| |||
| Linkit | |||
Microsoft SQL Server on Microsoftin kehittämä relaatiotietokannan hallintajärjestelmä .
Käytetty kehityskieli (komentorivin tai Management Studion graafisen käyttöliittymän kautta) on Transact-SQL (TSQL), SQL-kielen ANSI-standardin toteutus, jota käytetään tietojen käsittelyyn ja hakemiseen ( DML ), taulukoiden luomiseen ja määrittelyyn. niiden väliset suhteet ( DDL ).
SQL Serverin huomattavimpia kilpailijoita ovat: Oracle , MariaDB , MySQL , PostgreSQL . SQL Server on perinteisesti ollut saatavilla vain Microsoft Windows -käyttöjärjestelmille , mutta vuodesta 2016 alkaen se on saatavilla GNU/Linuxille , [ 2 ] [ 3 ] ja vuodesta 2017 alkaen myös Dockerille . [ 4 ]
Se voidaan konfiguroida käyttämään useita esiintymiä samalla fyysisellä palvelimella, ensimmäisellä asennuksella on yleensä palvelimen nimi, ja seuraavissa - tietyt nimet (palvelimen nimen ja asennuksen nimen välissä on väliviiva).
Versiot
| Versio | vuosi | version nimi | avaimen nimi |
|---|---|---|---|
| 1.0 ( OS/2 ) |
1989 | SQLServer 1-0 | SQL |
| 4.21 ( WinNT ) |
1993 | SQLServer 4.21 | JATKO |
| 6.0 | tuhatyhdeksänsataayhdeksänkymmentäviisi | SQLServer 6.0 | SQL95 |
| 6.5 | 1996 | SQLServer 6.5 | Hydra |
| 7.0 | 1998 | SQL Server 7.0 [ 6 ] | sfinksi |
| - | 1999 | SQL Server 7.0 OLAP- työkalut |
Ruokalaji |
| 8.0 | 2000 | SQL Server 2000 [ 7 ] | Shiloh |
| 8.0 | 2003 | SQL Server 2000 64-bittinen versio |
Vapaus |
| 9.0 | 2005 | SQL Server 2005 [ 8 ] | Yukon |
| 10.0 | 2008 | SQL Server 2008 [ 9 ] | kathmai |
| 10.25 | 2010 | SQL-Azure DB | Pilvitietokanta |
| 10.50 | 2010 | SQL Server 2008 R2 [ 10 ] | Kilimanjaro |
| 11.0 | 2012 | SQL Server 2012 [ 11 ] | Denali |
| 12.0 | 2015 | SQL Server 2014 [ 12 ] | SQL14 (aiemmin Hekaton) |
| 13.0 | 2016 | SQLServer 2016 | SQL16 |
| 14.0 | 2017 | SQLServer 2017 | vSeuraava 2017 |
| 15.0 | 2019 | SQLServer 2019 | Daphne |
Alkuperäinen SQL Serverin lähdekoodi , jota käytettiin versiota 7.0 edeltävissä versioissa, olisi ostettu Sybaselta , mutta se päivitettiin versioissa 7.0 ja 2000 ja kirjoitettiin uudelleen versiossa 2005. Yleensä 2-3 vuoden välein julkaistaan uusi versio ja näiden julkaisujen välillä ehdotetaan parannuksia ja virheenkorjauksia sisältäviä huoltopaketteja sekä hotfix -korjauksia kiireellisiin turvajärjestelmän ongelmiin tai kriittisiin virheisiin.
Saatavuus
Microsoft SQL Server myydään lisenssinä. Käyttäjät, jotka haluavat käyttää SQL Serveriä, tarvitsevat kuitenkin CAL-käyttöoikeuden, koska he ovat kaikki ohjelmasta kiinnostuneita, kuten tietojen pyytämistä ja tallentamista.
Lisenssimallit
Microsoft SQL Server käyttää erilaisia lisenssimalleja, nämä ovat Server + CAL -lisenssit ja Core -lisenssit.
Palvelimen malli + CAL
Tämä lisenssimalli on halvempi vaihtoehto, se ostetaan lisenssillä ja käyttäjille tai laitteille on ostettava lisää CAL-käyttöoikeuksia.
Ydinlisenssejä kohti
Valitsemalla ydinkohtaisen lisensoinnin lisensoit useita palvelimen fyysisen prosessorin ytimiä. Microsoft SQL Server 2019:ssä vähintään 4 ydintä on aina oltava lisensoitu. Tämän lisenssimallin valitsevat usein suuret yritykset.
Tätä varten ei vaadita CAL-käyttöoikeuksia.
CAL (Client Access License)
Asiakaskäyttölisenssi on tarkoitettu tarjoamaan käyttöoikeudet, jotta käyttäjät tai laitteet voivat käyttää palvelinohjelmistoa. Tämä tarkoittaa, että jokainen tietokone tai käyttäjä, joka tarvitsee pääsyn palvelinohjelmistoon, tarvitsee CAL-käyttöoikeuden.
Käyttäjän CAL-käyttöoikeudet
User CAL antaa verkon käyttäjälle pääsyn edellä mainittuun ominaisuuteen. Tämä tarkoittaa, että tämä käyttäjä voi käyttää palvelimen verkkoa myös muiden laitteiden kautta.
Laitteen CAL-käyttöoikeudet
Laitteen CAL antaa pääsyn laitteeseen. Tämä tarkoittaa, että kaikki tämän laitteen käyttäjät voivat kirjautua sisään päästäkseen palvelimeen. Tästä on usein hyötyä vain silloin, kun organisaatiossa on enemmän käyttäjiä kuin laitteita [ 13 ]
Ominaisuudet
- Tapahtumatuki . _
- Tukee tallennettuja toimenpiteitä .
- Se sisältää myös graafisen hallintaympäristön, joka mahdollistaa DDL- ja DML - komentojen graafisen käytön.
- Se mahdollistaa työskentelyn asiakas-palvelin- tilassa , jossa tiedot ja data isännöidään palvelimella ja verkkopäätteet tai asiakkaat pääsevät vain tietoihin.
- Sen avulla voit myös hallita tietoja muista tietopalvelimista .
Tämä järjestelmä sisältää supistetun version, nimeltään MSDE , jossa on sama tietokantamoottori, mutta joka on suunnattu pienempiin projekteihin. Vuosien 2005 ja 2008 versioista tulee SQL Express Edition , joka on versio, jota jaetaan ilmaiseksi .
On yleistä kehittää kokonaisia projekteja Microsoft SQL Serverillä ja Microsoft Accessilla ns. ADP :n ( Access Data Project ) kautta. Tällä tavalla tietokanta ( Microsoft SQL Server ) on valmis , kehitysympäristö ( VBA Access ) toteuttamalla kaksitasoisia sovelluksia Windows -lomakkeiden avulla .
SQLCMD :tä , osql:a tai PowerShellia käytetään käsittelemään SQL:ää komentorivien kautta .
Monimutkaisempien sovellusten (kolme tai useampi kerros) kehittämiseen Microsoft SQL Server sisältää käyttöliittymät eri kehitysalustoilla, mukaan lukien .NET , mutta palvelin on saatavilla vain käyttöjärjestelmille .
NUMERO-tyyppiä parannettiin käytettäväksi saraketunnisteena versiosta 2008 R2 alkaen.
Ohjelmointi
T-SQL
T-SQL (Transact-SQL) on tärkein vuorovaikutusväline palvelimen kanssa, joka mahdollistaa avaintoimintojen suorittamisen SQL Serverissä, mukaan lukien tietokantaskeemojen luomisen ja muokkaamisen, tietojen lisäämisen ja muokkaamisen tietokantaan. palvelin sellaisenaan. Tämä tehdään lähettämällä T-SQL-käskyt ja -ilmoitukset, jotka palvelin käsittelee ja tulokset (tai virheet) palautetaan asiakassovellukselle.
SQL-natiivi asiakas
SQL Native Client on Microsoft SQL Server -version 2005 ja uudempien asiakkaiden tietojen käyttökirjasto. Toteuttaa natiivisti tuen SQL Server -ominaisuuksille, mukaan lukien taulukkomuotoisen tietovirran suoritus, tuki SQL Serverin peilatuille tietokantoille, täysi tuki kaikille SQL Serverin tukemille tietotyypeille, asynkroniset toimintosarjat, kyselyilmoitukset, tuki salaukselle sekä useiden tulosjoukkojen vastaanottaminen yhdessä tietokantaistunnossa. SQL Native Client -sovellusta käytetään SQL Server -laajennusten laajennuksena muille tiedonkäyttötekniikoille, mukaan lukien ADO tai OLE DB. SQL Native Client -sovellusta voidaan käyttää myös suoraan, tiedon käyttökerrokset ohittaen.
Painokset ja palvelut
Jokaisella SQL Server -versiolla on eri versioita eri hinnoilla (jokaiselle versiolle), jotka riippuvat myös palvelimen fyysisestä kokoonpanosta. [ 14 ] Pääversiot on esitetty alla:
Yritys
Se sisältää kaikki ominaisuudet (poistettu käytöstä muissa versioissa) Se on versio, jolla on markkinoiden eniten etuoikeuksia.
kehittäjä
Painos, jolla on samat ominaisuudet kuin Enterprise, jotta se voidaan asentaa vain kehitysympäristöön, ei tuotantoon. Jos se on kehitetty Standard-versiota varten, tässä versiossa poistetut ominaisuudet on otettava huomioon.
Normaali
Rajoitettu versio riippuen palvelimen kokoonpanosta ja sen ominaisuuksista, suunniteltu alemmille palvelimille.
Esimerkiksi: versiossa 2012 Enterprise-versio tukee rajoittamatonta määrää prosessoreita sekä muistin ja suorittimien nopeaa lisäämistä ilman palvelun tai palvelimen keskeytyksiä; Standardiversio on rajoitettu 16 prosessoriin, eikä se tue "kuumaa lisäystä".
Express
Ilmainen versio, joka mahdollistaa rajoitettujen perusominaisuuksien tietokantojen luomisen tukemaan sovelluksia, jotka tarvitsevat yksinkertaisen ratkaisun rajoitetun tietomäärän tallentamiseen, tai käyttäjiä, joiden resurssit ja tarpeet ovat rajalliset.
Vuoden 2012 versiossa tämä versio voi käyttää enintään 1 Gt muistia ja tallentaa enintään 10 Gt, se toimii palvelimilla, joissa on enintään neljä prosessoria. Nämä rajoitukset säilyvät 2014-versiossa (4 ydintä, 1 Gt RAM ja 10 Gt per tietokanta).
SQLAzure
Se on pilvessä oleva SQL Server -versio, jonka avulla voit maksaa palvelusta kuukausittain ilman, että sinun tarvitsee ylläpitää fyysistä palvelinta (On Premise). Yritys maksaa vain palvelusta ja palvelua hallinnoidaan palvelinfarmien kautta eri puolilla maailmaa.
SQL Azurella fyysistä palvelinta ei tarvitse asentaa, ylläpitää tai päivittää. huolimatta siitä, että tämä palvelu riippuu turvallisuusongelmista liittyvistä seikoista, jotka liittyvät sen läsnäoloon yrityksen ulkopuolella ja Internet-yhteyden saatavuuteen.
Palvelua laajennettiin jonkin aikaa mahdollisuudella luoda virtuaalinen palvelin verkon yli ja asentaa SQL Server sekä yksi kilpailevista palveluista ja hallita virtuaalipalvelinta ikään kuin se olisi paikallinen fyysinen palvelin (vaikka se on ei fyysisesti saavutettavissa). ); ja voit erottaa alkuperäisen vaihtoehdon, jota kutsutaan nimellä PAAS ( Platform as a Service : Platform as a Service ) ja uuden virtuaalipalvelimien vaihtoehdon nimeltä IAAS ( Infrastructure as a Service: Infrastructure as a Service ).
Microsoft on tarjonnut tätä palvelua vuodesta 2009 lähtien, ja se liittyy kolmansien osapuolien vastaaviin palveluihin .
Käyttöliittymä
SQL Server tarjoaa muutamia vuosien varrella muuttuneita käyttöliittymiä, joista tunnetuimmat ovat graafiset rajapinnat, joita käytetään kehittäjien ja järjestelmänvalvojien vakiokehitystyökaluna .
Vuoteen 2005 asti graafinen käyttöliittymä sisälsi Enterprise Managerin, jossa oli puunäkymä eri objekteista ja mahdollisuus hallita niitä; ja Query-analysaattori tekstillisenä käyttöliittymänä TSQL-komentojen suorittamiseen.
Vuoden 2005 versiossa nämä kaksi työkalua yhdistettiin yhdeksi – SQL Server Management Studio (SSMS) ja vuodesta 2008 alkaen mahdollisuus työskennellä Visual Studion kanssa – Microsoftin standardikehitysrajapinta (eri kielille , BI jne.). Toinen valinnainen käyttöliittymä on komentorivin käyttö työkaluilla, kuten SQLCmd, ISQL, OSQL, jotka mahdollistavat komentosarjojen suorittamisen ja eräkäsittelyn . Vuodesta 2008 lähtien sitä on voitu kehittää SQLCmd:llä (SQL Command) SSMS:n kautta ilman yhteenliittämistä Windowsin tekstikäyttöliittymään. Toinen vaihtoehto skriptien alalla on Microsoftin Powershell - skriptikielen käyttö.
SQL Serverin vakiorajapintojen lisäksi voit suorittaa TSQL-komentoja yhteystyökaluilla, kuten ODBC ja OLE-DB. [ 15 ]
Palvelut
Toisin kuin Microsoft Accessin kaltaiset tietokantajärjestelmät, jotka ovat "passiivisia" ja sisältävät tiedoston, johon sinun täytyy muodostaa yhteys ja komentojen suorittaminen suoritetaan asiakkaalla (käyttäjän tietokoneella), SQL Serverissä on useita palveluita , ohjelmistoja. jotka järjestelmä suorittaa palvelimen muistissa ja hyödyntävät siksi asiakkaita tehokkaamman palvelimen ominaisuuksia, estävät verkon ruuhkautumisen ja voivat ajoittaa tehtäviä, jotka suoritetaan, vaikka asiakas ei olisi yhteydessä. .
Pääpalvelut:
- SQL Server - Järjestelmän "moottori".
- SQL-agentti - tehtävien suorittaminen (työt, ajoitetut komentosarjat) ja varoitusten lähettäminen järjestelmän raskaan ja epäsäännöllisen kuormituksen yhteydessä
- Täystekstisuodatin Daemon Launcher - "Täystekstihaun" erikoishakemistojen käyttäminen tarkennetussa tekstihaussa
- SQL-selain - "kuuntelija", joka on omistettu lähetetyille komennoille ja ohjaa ne määränpäähänsä
- SSIS-palvelin – SSIS : n ( ETL -työkalun ) toiminta
- SSAS-palvelin – SSAS :n ( OLAP - työkalun ) toiminta
- SSRS-palvelin – SSRS : n (raportointityökalun) toiminta
Perusominaisuudet ja -työkalut
Tietokannat
Jokaisessa SQL Server -asennuksessa on 4 järjestelmätietokantaa ja mahdollisuus luoda käyttäjältä uusia tietokantoja, joihin tiedot tallennetaan taulukoihin.
Nämä käyttäjien luomat tietokannat sisältävät periaatteessa datatiedoston (päätteellä mdf), jossa on taulukot ja eri tietokantatason objektit; ja lokitiedosto (liitteellä ldf), jossa on avoimia tapahtumia ja suljettuja tapahtumia, valitun palautusmallin mukaan (kaikki tietokannan muutokset viimeisen varmuuskopion jälkeen voidaan kerätä lokitiedostoon). Päätiedoston (ndf-liitteen) lisäksi voidaan luoda joukko datatiedostoja tehokkuussyistä, työkuorman osiointia kiintolevyjen välillä jne.
Järjestelmätietokannat:
- master - Kaikki menettelyt, funktiot ja järjestelmätaulukot, joita kaikki tietokannat käyttävät ja jotka asennetaan automaattisesti, sekä ne, jotka järjestelmänvalvojat ovat luoneet. Lisäksi kaikki palvelintason turvallisuutta koskevat määritelmät on tallennettu tähän tietokantaan.
- msdb - Agenttitehtävien, järjestelmään yhdistettyjen CLR -koodien, SSIS-pakettien ja muiden tallennus.
- malli - Tietokantamalli. Jokainen uusi tietokanta luodaan kopiona tästä tietokannasta, ellei jotain muuta ole erikseen määritelty.
- tempdb - Väliaikainen tietokanta, joka luodaan uudelleen aina, kun palvelu käynnistetään uudelleen. Sitä käytetään käyttäjien tai järjestelmän luomien väliaikaisten taulukoiden tallentamiseen (esimerkiksi monimutkaisissa lajitteluissa).
Kiinteät ja väliaikaiset taulukot
Loogisesta näkökulmasta tietokantoihin tallennetut tiedot taulukoissa, jotka niiden kautta toteuttavat relaatiotietokantojen teoriaa. Taulukko on jaettu riveihin ja sarakkeisiin (jota joskus kutsutaan tietueiksi ja kentiksi). Taulukot voivat olla kiinteitä tai väliaikaisia, kun taas toisessa tapauksessa ne ovat fyysisesti olemassa tempdb-tietokannassa, ja ne poistetaan automaattisesti, jos istunto tai yhteys palvelimeen katkeaa väliaikaisen taulukon tyypistä riippuen.
Fyysisestä näkökulmasta katsottuna järjestelmä jakaa tietokantatiedostot 64 kt:n laajuuksiin, joista kukin kahdeksalle 8 kt:n sivulle. Yleensä jokainen laajuus on määritetty taulukolle tai hakemistolle , lukuun ottamatta pieniä taulukoita; ja jokainen sivu on aina liitetty tiettyyn taulukkoon. Järjestelmä vastaa tiedostojen kasvattamisesta käyttäjän asetusten mukaisesti sekä laajuuksien ja sivujen määrittämisestä taulukoihin.
Taulukot voidaan indeksoida. Indeksit tallennetaan taulukon viereen (Non Clustered Index) tai ne ovat itse taulukkoa (Clustered Index). Indeksit auttavat löytämään tietoja taulukoista (kuten tiedostoista kirjastoista), lajittelemaan niitä ja määrittämään ensisijaisia avaimia .
Taulukoiden välille voidaan luoda yksi-moneen -suhde .
Käyttäjätaulukoiden lisäksi on taulukoita, jotka tallentavat metatietoja: tiedot itse järjestelmästä, eri objekteista, oikeuksista, tilastot järjestelmän suorituskyvystä (DMV) jne.
Tietotyypit
Taulukon jokaiselle sarakkeelle ja jokaiselle muuttujalle tai parametrille on määritetty siihen tallennettavan datan tyyppi, muun muassa:
- Numerot : Kokonaislukuja ja ei-kokonaislukuja eri kokoisina ja eri tarkkuudella; ja valinnainen automaattinen lisäys.
- Tekstit : Eripituiset merkkijonot ja eri ominaisuudet tukemaan eri kieliä.
- Päivämäärät : Päivämäärät eri tarkkuustasoilla, kokonaisista päivistä sekunnin murto-osaan, tukevat päivämäärät 1900-luvun alusta tai gregoriaanisesta kalenterista ja kyky erottaa eri ajankäytöt.
- XML : Tekstidata (merkkijonot), jotka edustavat standardidatajoukkoja (SGML-standardi).
- Binääritiedot : Binääritietona (bitit ja tavut) tallennetut tiedot, jotka mahdollistavat grafiikkatiedostojen jne.
- Maantieteellinen sijainti: Maantieteellisten tietojen, kuten osavaltioiden, maantieteellisten alueiden, paikkakuntien, vakioesitys; ja laskelmat etäisyyksinä.
- Geometria : Pisteiden, viivojen, pintojen standardiesitys tasossa; ja niiden väliset suhteet.
- Hierarkia : hierarkkisten tietojen , kuten materiaaliluettelon, työntekijöiden välisten raportointisuhteiden, vakioesitys.
Näkymät
Näkymät edustavat yleensä tiedonpoimintakomentoja, jotka tallennetaan ilman tietoja (jotka on tallennettu taulukoihin). Tämän vaihtoehdon avulla voimme luoda monimutkaisia tai tavallisia otteita, tallentaa ne näkyminä ja käyttää näkymiä ilman, että komentoja on kirjoitettava uudelleen tai koodia ei tarvitse säilyttää siellä, missä ne näkyvät. Lisäksi se on erittäin tärkeä keino valikoivien lukuoikeuksien myöntämisessä (jos haluamme antaa käyttäjälle mahdollisuuden tarkastella osittain taulukon sarakkeita tai rivejä).
Näkymää voidaan pitää virtuaalitaulukkona tai tallennettuna kyselynä. Näkymän kautta käytettävissä olevia tietoja ei tallenneta muuhun objektiin kuin tietokantaan. Tietokantaan on tallennettu SELECT-käsky. SELECT-käskyn tulos muodostaa virtuaalitaulukon, jonka näkymä palauttaa. Käyttäjä voi käyttää tällaista virtuaalitaulukkoa viittaamalla näkymän nimeen Transact-SQL-käskyissä samalla tavalla kuin taulukoihin viitataan. Näkymiä käytetään joihinkin tai kaikkiin näistä toiminnoista:
• Rajoita käyttäjän pääsyä tietyille taulukon riveille. Esimerkiksi sallimalla työntekijän nähdä vain ne rivit, jotka tallentavat hänen työnsä työaktiivisuuden seurantataulukossa.
• Rajoita käyttäjien pääsyä tiettyihin sarakkeisiin. Salli esimerkiksi työntekijöiden, jotka eivät työskentele palkanlaskentaosastolla, nähdä työntekijätaulukon nimi-, toimisto-, puhelin- ja osastosarakkeet, mutta älä anna heidän nähdä sarakkeita, joissa on palkkatietoja tai muita henkilökohtaisia tietoja.
• Yhdistä useiden taulukoiden sarakkeita niin, että ne näkyvät yhtenä taulukkona.
• Lisää tietoja yksityiskohtien esittämisen sijaan. Esimerkiksi sarakkeen summan tai sarakkeen enimmäis- tai vähimmäisarvon esittäminen.
Näkymät luodaan määrittämällä SELECT-käsky, joka hakee näkymän esittämät tiedot. Tietotaulukot, joihin SELECT-käsky viittaa, tunnetaan näkymän perustaulukoina. Näkymät kaikissa SQL Server -versioissa ovat päivitettävissä (voivat olla UPDATE-, DELETE- tai INSERT-käskyjen kohteena), kunhan muutos vaikuttaa vain yhteen näkymän perustaulukoista.
Tallennetut menettelyt
Proseduurit ovat TSQL-komentoskriptejä, jotka voidaan suorittaa eri parametreilla. Esimerkiksi toiminto, joka hankkii vuosinumeron parametriksi ja päivittää myynnin yhteenvetotaulukon välittäjien myynnillä kyseisenä vuonna myynnin rekisteröintitaulukon perusteella.
Tallennetut toiminnot voivat helpottaa tietokannan hallintaa ja tietokantaa ja sen käyttäjiä koskevien tietojen tarkastelua. Tallennetut toimintosarjat ovat esikäännetty kokoelma SQL-käskyjä ja valinnaisia vuonohjauskäskyjä, jotka on tallennettu yhdelle nimelle ja joita käsitellään yhtenä yksikkönä. Tallennetut menettelyt tallennetaan tietokantaan; niitä voidaan ajaa sovelluksesta käsin, ja ne mahdollistavat käyttäjän ilmoittamat muuttujat, ehdollisen suorituksen ja muut tehokkaat ohjelmointiominaisuudet. Tallennetut proseduurit voivat sisältää ohjelman kulkua, logiikkaa ja tietokantakyselyjä. He voivat hyväksyä parametreja, tarjota parametrituloksia, palauttaa yhden tai useita tulosjoukkoja ja palauttaa arvoja.
SQL Serveriin tallennettujen proseduurien käytön edut paikallisesti asiakastietokoneisiin tallennettujen Transact-SQL-ohjelmien sijaan ovat seuraavat:
• Mahdollistavat modulaarisen ohjelmoinnin.
Voit luoda menettelyn kerran, tallentaa sen tietokantaan ja kutsua sitä ohjelmasta kuinka monta kertaa haluat. Tietokantaohjelmointiasiantuntija voi luoda tallennettuja proseduureja, joita voidaan sitten muokata ohjelman lähdekoodista riippumatta. Ne helpottavat huoltoa.
• Salli nopeampi suoritus.
Tilanteissa, joissa tarvitaan suuri määrä Transact-SQL-koodia tai jos toimintoja suoritetaan useita kertoja, tallennetut toiminnot voivat olla nopeampia kuin Transact-SQL-koodierät. Proseduurit jäsennetään ja optimoidaan niiden luomishetkellä, ja on mahdollista käyttää prosessin versiota, joka on muistissa sen jälkeen, kun se on suoritettu ensimmäisen kerran. Transact-SQL-käskyt, jotka lähetetään useita kertoja asiakkaalta joka kerta, kun ne suoritetaan, on koottava ja optimoitava aina, kun SQL Server suorittaa ne.
• Ne voivat vähentää verkkoliikennettä.
Toiminto, joka vaatii satoja rivejä Transact-SQL-koodia, voidaan suorittaa yhdellä käskyllä, joka suorittaa koodin proseduurissa sen sijaan, että lähetettäisiin satoja koodirivejä verkon yli.
• Niitä voidaan käyttää turvamekanismina.
Käyttäjille voidaan myöntää oikeudet tallennetun toimintosarjan suorittamiseen, vaikka heillä ei olisi oikeutta suorittaa suoraan proseduurin käskyjä.
Käyttäjän määrittämät toiminnot
Funktiot ovat objekti, joka yhdistää jotkin näkemysten ominaisuudet proseduurien toisiin. Näkymien tavoin ne voivat poimia tietoja ja suorittaa laskelmia palauttaen tuloksen käyttäjälle tai ohjelmalle, joka suoritti ne. Proseduurien lisäksi ne sisältävät TSQL-koodeja, ja ne voidaan suorittaa parametreilla.
Funktiot palauttavat arvon tai arvojoukon.
Käyttäjän määrittämät funktiot luodaan käskyllä CREATE FUNCTION, niitä muokataan käskyllä ALTER FUNCTIONja poistetaan käskyllä DROP FUNCTION. Kaikkien käyttäjän määrittelemien täydellisten funktionimien (tietokannan_nimi.omistajan_nimi.funktion_nimi) on oltava yksilöllisiä. Jotta voit luoda, muokata tai poistaa käyttäjän määrittämiä toimintoja, sinulla on oltava CREATE FUNCTION. Muilla käyttäjillä kuin omistajalla on oltava funktion SUORITA-oikeus, ja vasta sitten he voivat käyttää sitä Transact-SQL-käskyssä. Jotta voit luoda tai muokata taulukoita, joissa on viittauksia käyttäjän määrittämiin funktioihin lasketun sarakkeen rajoitteessa CHECK, lausekkeessa tai määritelmässä, sinulla on oltava myös funktioiden käyttöoikeudet. Transact-SQL-virheet, jotka aiheuttavat käskyn peruuntumisen ja jatkamisen moduulin seuraavaan käskyyn, kuten liipaisimet tai tallennetut toiminnot, käsitellään funktiossa eri tavalla. Toiminnoissa nämä virheet aiheuttavat funktion suorittamisen pysähtymisen. Tämä saa käskyn kutsuneen funktion keskeyttämään. Käyttäjän määrittämässä funktiossa on nolla tai useita syöttöparametreja, ja se palauttaa skalaariarvon tai taulukon. Funktiolla voi olla enintään 1024 syöttöparametria. Kun funktioparametri saa oletusarvon, avainsana on määritettävä funktiota kutsuttaessa, jotta saataisiin oletusarvo. Tämä toiminta eroaa oletusarvoparametreista tallennetuissa proseduureissa, joille parametrin jättäminen pois edellyttää oletusarvon määrittämistä. Käyttäjän määrittämät toiminnot eivät tue lähtöparametreja.
DEFAULTREFERENCESDEFAULT
Hajautetut kyselyt
Hajautetut kyselyt käyttävät tietoja useista lähteistä, jotka voidaan tallentaa yhteen tietokoneeseen tai eri tietokoneisiin. Microsoft SQL Server 2000 tukee hajautettuja kyselyitä OLE DB:n kautta Hajautetut kyselyt tarjoavat SQL Server -käyttäjille pääsyn:
• Hajautettuun dataan, joka on tallennettu useisiin SQL Server -esiintymiin.
• Heterogeeniset tiedot, jotka on tallennettu erilaisiin relaatio- ja ei-relaatiotietolähteisiin, joita käytetään OLE DB -palveluntarjoajan kautta.
OLE DB -toimittajat paljastavat tiedot taulukkoobjekteissa, joita kutsutaan rivijoukoiksi. SQL Server 2000 sallii OLE DB -palveluntarjoajien rivisarjoihin viittaamisen Transact-SQL-käskyissä ikään kuin ne olisivat SQL Server -taulukko. Taulukoihin ja näkymiin ulkoisista tietolähteistä voidaan viitata suoraan Transact-SQL SELECT-, INSERT-, UPDATE- ja DELETE-käskyissä. Koska hajautetut kyselyt käyttävät OLE DB:tä taustalla olevana käyttöliittymänä, ne käyttävät perinteisiä relaatiotietokantajärjestelmiä, joissa on SQL-kyselyprosessorit, sekä dataa, jota hallitsevat vaihtelevan tehon ja kehittymisen tietolähteet. Niin kauan kuin oma ohjelmisto paljastaa tiedot taulukkoriveinä OLE DB -toimittajan kautta, tietoja voidaan käyttää hajautetuissa kyselyissä. Huomautus: Hajautettujen kyselyjen käyttö SQL Serverissä on samanlainen kuin ODBC:n kautta linkitetyt taulukot, joita Microsoft Access tuki aiemmin. Tämä toiminto on nyt sisäänrakennettu SQL Serveriin, jossa on OLE DB liitäntä ulkoisiin tietoihin.
Tapahtumat
Tapahtuma on joukko komentoja, jotka suoritetaan kokonaan tai ei suoriteta ollenkaan: kaikki tai ei mitään. Esimerkiksi jos rahasumma siirrettiin pankkitililtä toiselle ja molemmat tilit on päivitettävä talletuksen ja noston yhteydessä; on pakollista, että molemmat tilit päivitetään yhdessä tai ei kumpaakaan (jos toinen päivityksistä epäonnistuu); välttääksesi epäjohdonmukaiset seuraukset talletuksesta ilman nostoa tai päinvastoin. Siksi tapahtuma on toimintosarja, joka suoritetaan yhtenä loogisena työyksikkönä. Loogisella työyksiköllä on oltava neljä ominaisuutta, jotka tunnetaan nimellä ACID-ominaisuudet (atomisuus, konsistenssi, eristys ja kestävyys), jotta se voidaan katsoa tapahtumaksi:
- Atomuus
Tapahtuman on oltava atomityöyksikkö riippumatta siitä, tehdäänkö kaikki sen muutokset dataan vai ei tehdä yhtään.
- Johdonmukaisuus
Kun tapahtuma on valmis, sen on jätettävä kaikki tiedot yhtenäiseen tilaan. Relaatiotietokannassa kaikkia sääntöjä on sovellettava tapahtuman muutoksiin kaikkien tietojen eheyden säilyttämiseksi. Kaikkien sisäisten tietorakenteiden, kuten B-puuindeksien tai kaksoislinkitettyjen listojen, on oltava oikein tapahtuman lopussa.
- Eristäytyminen
Samanaikaisten tapahtumien tekemät muutokset on eristettävä muiden samanaikaisten tapahtumien muutoksista. Tapahtuma näkee tiedot siinä tilassa, jossa se oli ennen kuin toinen samanaikainen tapahtuma muutti sitä tai kun toinen tapahtuma on suoritettu loppuun, mutta se ei näe välitilaa. Tätä kutsutaan serialisoinniksi, koska sen tuloksena on kyky ladata alkuperäiset tiedot uudelleen ja toistaa tapahtumasarja uudelleen, jotta tiedot päättyvät samaan tilaan kuin se oli alkuperäisten tapahtumien jälkeen.
- Kestävyys
Kun kauppa on tehty, sen vaikutukset ovat pysyviä järjestelmässä. Muutokset jatkuvat jopa järjestelmävirheen sattuessa.
SQL Serverillä on rajoitettu kyky sisäistää tapahtumia.
Optimoija
Optimoija on osa ohjelmistoa, joka "tekee päätöksen" siitä, miten kukin komento suoritetaan, jotta suoritus on tehokkain tai ainakin riittävän tehokas (eli riittävän tehokas, jotta toisen komennon etsiminen ei jatku ratkaisu, joka on vielä tehokkaampi, lisähaun hinta "maksaa" enemmän kuin resurssisäästöt).
SQL on deklaratiivinen kieli , jossa kehittäjä ilmoittaa haluavansa purkaa tai päivittää ilman tarvetta ilmoittaa miten (toisin kuin pakolliset kielet , ja siksi optimoijalla on johtava rooli, mikä järjestelmän tallentamien tilastojen mukaan tietojen jakelusta taulukoissa, hakemistoissa ja sisäisissä säännöissä tekee oikean päätöksen.
Etuoikeudet ja tietoturva
Yhteyden muodostaminen SQL Serveriin edellyttää sisäänkirjautumista (palvelintason käyttäjä). Kun suojauskäytäntö on määritelty Windows-todennuksena ja palvelin on yhdistetty toimialueen määritelmiin , kirjautumiset määritellään Active Directoryssa . Kun määritelmä on SQL Server Authentication, kirjautumistunnukset (käyttäjä ja salasana) määritetään itse SQL Serverissä. Tästä johtuen ensimmäisessä tapauksessa sinun on tunnistettava itsesi nimellä ja salasanalla vain, kun muodostat yhteyden verkkoon, ja sitten muodostat automaattisesti yhteyden kaikkiin palvelimiin, jotka ovat Windows-todennusta (globaalilla kirjautumisella); ja toisessa tapauksessa sinun on tunnistettava itsesi, kun muodostat yhteyden jokaiseen SQL Server Authentication -palvelimeen (joka kerta paikallisella sisäänkirjautumisella).
Tietokantatasolla käyttäjä tunnistetaan Käyttäjäksi, joka liittyy yleisesti sisäänkirjautumiseen (joka on palvelintasolla), ja Käyttäjän oikeudet ovat olemassa vain tietokantatasolla (sisäänkirjautumisen oikeuksien lisäksi). Yleisten oikeuksien myöntämistä voidaan avustaa luetteloilla palvelinrooleista (palvelintason roolit) tai tietokantarooleista (tietyt tietokantatason roolit), joista jokaisella on tietyt oikeudet tiettyyn rooliin. ja jokainen johonkin näistä rooleista liitetty käyttäjä saa siihen liittyvät oikeudet. Lisäksi järjestelmänvalvoja voi myöntää tiettyjä oikeuksia ja luoda muita tietokantarooleja (palvelinrooleja ei voi luoda).
Palvelintason oikeudet sisältävät mahdollisuuden luoda tietokantoja, käyttää töitä, luoda tietokannan varmuuskopioita ja palautuksia, muokata palvelinmäärityksiä ja niin edelleen. Tietokantatason oikeudet mahdollistavat tietojen purkamisen ja päivittämisen, objektien, kuten proseduurien ja taulukoiden, luomisen, näiden objektien käytön ja niin edelleen. Pääsääntöisesti voit myöntää oikeuksia (Grant), peruuttaa olemassa olevat oikeudet (Revoke) ja evätä oikeudet, joita ei vielä ole (Deny).
Muut palvelutyökalut
Perusominaisuuksiensa lisäksi relaatiotietokannan hallintatyökaluna (luoda taulukoita, määrittää niiden välisiä suhteita, hallita tapahtumia, luoda indeksejä jne.) SQL Server tukee kasvavaa luetteloa muista palvelutyökaluista, lukuun ottamatta kolmannen osapuolen työkaluja, jotka muuttuvat. tai täydentää olemassa olevaa.
Varmuuskopiot ja palautukset
Vaihtoehtoisten käyttöjärjestelmätason ratkaisujen (tietokantatiedostojen varmuuskopiointi) lisäksi SQL Serverissä on sisäänrakennettu työkalu, joka mahdollistaa täydellisen tai differentiaalisen varmuuskopioinnin ennalta määritellyn palautusmallin mukaisesti. ja täydellinen tai hetkellinen palautuminen. Tietokannan varmuuskopion lisäksi voit varmuuskopioida ne komentosarjan avulla (tietojen kanssa tai ilman). Vuodesta 2008 lähtien voit pakata varmuuskopiotiedostoja.
Pakkaus
Vuodesta 2008 lähtien lisättiin pakkausvaihtoehto, joka mahdollistaa taulukoiden ja hakemistojen fyysisen koon pakkaamisen ja kiintolevyjen määrän tehokkaamman käytön sekä vähentää IO-toimintoja (mikä lisää suorittimen kuormitusta). Kuten jo mainittiin, voit myös pakata varmuuskopiotiedostot.
Replikointi, korkea saatavuus ja katastrofipalautus
Jotkin työkalut mahdollistavat osittaisten tai täydellisten tietokantojen replikoiden luomisen, saatavuuden parantamisen ja katastrofeista palautumisen. lukuun ottamatta vaihtoehtoa varmuuskopioida ja palauttaa tietokannat, vaihtoehto, jonka oletetaan olevan hyvin hidas.
Näillä työkaluilla luotuja kopioita voidaan käyttää välittömästi saatavilla olevana varmuuskopiona, jos järjestelmä epäonnistuu, sekä kopiona lähdejärjestelmästä riippumattomassa alijärjestelmässä kuormituksen tasapainottamiseen; ja että päivitykset suoritetaan tietokannassa ja raporttien palautukset suoritetaan replikassa.
Näistä työkaluista voidaan mainita replikointi , joka mahdollistaa synkronoidun replikan luomisen tietokannasta, peilaus , joka suorittaa peilipalvelimessa jokaisen päivityksen, joka suoritetaan alkuperäisessä palvelimessa, Log Shipping, joka mahdollistaa synkronoidun kopion tallentamisen. kautta lokitiedostot (Log) kaikkiin päivityksiin lähdepalvelimella sekä korkean käytettävyyden ja hätäpalautustyökalut (HADR, vuodesta 2012), jotka ratkaisevat peilaus-ongelmia liittyen teknisten vikojen reaktioaikaan ja kopioiden saatavuuteen rauhan aikana.
Agentti ja tehtävien ajoitus
Agentti on palvelu, joka vastaa tehtävien aikataulutuksesta ja vastaa niiden suorittamisesta itsenäisesti. Yleensä hän suorittaa ylläpitotehtäviä, monimutkaisia ETL- tehtäviä , varmuuskopioita jne.
Huolto
Järjestelmän suorituskyvyn parantamiseksi on tarpeen ylläpitää optimoijan käyttämiä tilastoja, järjestää fyysiset tiedostot jne.; Näihin tarkoituksiin käytetään erityisiä työkaluja, jotka suoritetaan määräajoin ajoitetuilla tehtävillä ja koordinoidusti ETL- ja varmuuskopiointitehtävien kanssa.
Palvelunvälittäjä
Vuonna 2005 lisätty palvelukeskeistä arkkitehtuuria toteuttava teknologia , joka mahdollistaa asynkroniset suoritukset: ennen kaikkea viestien lähettäminen eri samanaikaisesti käynnissä olevien sovellusten välillä, mutta myös proseduurien suorittaminen asynkronisesti, tule ja unohda -tapa joka toimii eri istunnossa kuin sen aloittanut istunto, ja molemmat toiminnot toimivat edelleen toisistaan riippumatta.
Lähetä sähköpostia
SQL Serverillä on mahdollisuus lähettää sähköpostia koodin kautta. Tätä toimintoa käytetään yleensä lähettämään hälytyksiä järjestelmäongelmista (esimerkiksi jos suorittimen käyttö on noussut ennalta määritettyyn kynnykseen tai jos ETL -prosessi epäonnistui), mutta myös silloin, kun prosessi on päättynyt onnistuneesti.
Koko tekstihaku
Työkalu, joka mahdollistaa tekstisarakkeiden indeksoinnin teksteinä eikä vain merkkijonoina; ja suorittaa monimutkaisia hakuja tekstin merkityksestä ja kielestä riippuen. Esimerkiksi etsimme verbiä ja haluamme saada kaikki sen konjugaatioiden esiintymät.
Raita
Näitä työkaluja ovat Trace, joka mahdollistaa toimintojen jäljittämisen kuormien ja vikojen ylläpitämiseksi sekä tietoturva (tietojen palautus ei ole sallittua), Profiler, jonka avulla voidaan jäljittää suoritettavat komennot ja tapahtumat palvelin ja Extended Events, joka lisättiin vuonna 2008 ja muuttaa profiloijaa alhaisen allekirjoituksensa ansiosta (resurssien kulutus ja vaikutus palvelimen suorituskykyyn).
Näiden lisäksi kahdenlaisia triggereitä voidaan käyttää muutosten ja toimintojen seuraamiseen: DML-laukaisimet, jotka on määritetty ennalta taulukoihin ja näkymiin ja jotka käynnistyvät tietojen päivitysohjeilla (Valitse / Päivitä / Poista), ja DDL-laukaisimia, jotka käynnistyvät itse objektit (eikä tiedot) tietokanta- tai palvelintasolla.
CLR yhdistä
Vuodesta 2005 lähtien voit helposti yhdistää CLR : ssä kehitetyt proseduurit, funktiot ja aggregaattifunktiot SQL Serveriin . Sinun on kehitettävä koodi jollakin .NET -kehitystyökalulla , luotava DLL -tiedosto ja yhdistettävä se järjestelmään. Tämän tekniikan etuna on sen kyky ratkaista ongelmia, jotka eivät ole yksinomaan tietokantoja (tietojen käsittely) ja sisältävät monimutkaisia laskelmia tai merkkijonojen tekstimanipulaatioita.
Business Intelligence -työkalut
Tyypillinen asennus sisältää myös Business Intelligence ( BI ) -työkalut :
SSIS (SQL Server Integration Services)
ETL - työkalu , joka mahdollistaa tiedon poimimisen eri lähteistä (ei vain SQL Serveristä), mainittujen tietojen muuntamisen ja lataamisen (yleensä, mutta ei välttämättä tietovarastoon ).
SSAS (SQL Server Analysis Services)
Työkalu moniulotteisten (ei-relaatioiden) tietokantojen luomiseen , joita voidaan tutkia poimimalla tietoja eri ryhmittelytasoilla, poraamalla summa sen yksityiskohtiin ja käyttämällä MDX :ää (SQL:n kaltainen kieli, joka on sovitettu moniulotteisiin tietokantoihin).
SSRS (SQL Server Reporting Services)
Työkalu, jolla voit luoda ja muotoilla raportteja, myöntää niille katseluoikeuksia ja jakaa niitä. Niitä voidaan tarkastella verkkoselaimella ja viedä Exceliin , PDF :ään jne. tiedot poimitaan yleensä tietovarastosta tai OLAPista.
Haitat
- SQL Server 2012 -versiosta lähtien T-SQL:llä kirjoitetut kyselyt eivät ole taaksepäin yhteensopivia SQL Server 2008:n tai aiemman version kanssa.
- 32-bittisissä versioissa SQL Server käyttää Address Windowing Extension (AWE) -laajennusta yli 4 Gt:n osoitteiden tekemiseen. Tämä estää sinua käyttämästä dynaamista muistinhallintaa ja sallii vain enintään 64 Gt:n jaetun muistin isännöinnin. Tämä rajoitus koskee vain 32-bittisiä käyttöjärjestelmiä; 64-bittisissä käyttöjärjestelmissä suurin käytettävissä oleva muisti Standard Editionissa on 64 Gt ja Enterprise Editionissa 4 Tb
Katso myös
Viitteet
- ↑ Guthrie, Scott (7. maaliskuuta 2016). "Announcing SQL Server Linuxissa" (html) . Microsoft (englanniksi) . Arkistoitu alkuperäisestä 7. maaliskuuta 2016 . Haettu 3.3.2019 .
- ^ a b Domínguez, Andres Zamora (25. lokakuuta 2017). "Microsoft SQL Serveriä voidaan nyt käyttää Linux GNU:lla." (html) . Pandora FMS (englanniksi) . Arkistoitu alkuperäisestä 24. marraskuuta 2018 . Haettu 24. marraskuuta 2018 . «28. joulukuuta 2016 – pyhien viattomien juhlana, sinä erityisenä päivänä, jolloin espanjankieliset pilkkaavat koko päivän ajan – ilmoitettiin Microsoft ® -yhtiön hankkineen "Platina"-tyyppisen jäsenyyden Linux-säätiössä ja lanseeraavan Microsoft SQL Server®. »
- ↑ Lerner, Reuve M. "SQL Server Linuxissa" (html) . Geek Guide (englanniksi) . Arkistoitu alkuperäisestä 3. elokuuta 2017 . Haettu 24. marraskuuta 2018 . Mutta jopa skeptisimmän avoimen lähdekoodin fanin on myönnettävä, että Microsoft on muuttunut muutaman viime vuoden aikana. Se on julkaissut monia kehittäjätyökaluja ja kirjastoja avoimena lähdekoodina, ja se on alkanut sisällyttää Linuxin tuettuun alustaan joillekin ohjelmistoilleen. »
- ^ "Valmistaudu SQL Server 2017:ään" (html) . Microsoft (englanniksi) . Arkistoitu alkuperäisestä 1. toukokuuta 2017 . Haettu 24. marraskuuta 2018 . "Tuo SQL Serverin alan johtava suorituskyky ja tietoturva Windows-, Linux- ja Docker-säiliöihin. »
- ↑ SQL Server -kehityshistoria
- ↑ Mitä uutta Microsoft SQL Server 7:ssä
- ↑ Mitä uutta Microsoft SQL Server 2000:ssa
- ↑ Mitä uutta SQL Server 2005:ssä
- ↑ Mitä uutta (SQL Server 2008)
- ↑ Mitä uutta Microsoft SQL Server 2008 R2:ssa
- ↑ Mitä uutta SQL Server 2012:ssa
- ↑ Mitä uutta SQL Server 2014:ssä
- ↑ "Kaikki mitä sinun tulee tietää SQL-palvelinlisensseistä ja CAL-käyttöoikeuksista" . Soft trader (englanniksi) . 15. syyskuuta 2021 . Haettu 27.9.2021 .
- ↑ SQL Server 2014 -versioiden tukemat ominaisuudet
- ↑ Yhteysmerkkijonot
Ulkoiset linkit
- Microsoft SQL Server -verkkosivu
- Microsoft SQL Server -kehittäjät
- kirjoja esillä
- Microsoft SQLServer 2017
- Tietokantapäiväkirja Tietokantapäiväkirja _
- Microsoft SQL Server 2012 lataussivu