Osnovne nastavitve in priporočila vodilo za namestitev MS SQL Server 2019

V tem članku vas bomo seznanili z namestitvijo sistema Microsoft SQL Server 2019 z opisom vseh možnosti, komponent, trenutnih priporočil in najboljših praks..

MS SQL Server je vodilni RDBMS (sistem za upravljanje relacijskih podatkovnih baz) in tudi glavni konkurent Oracle Database v korporativnem segmentu. V CIS se MSSQL najpogosteje uporablja za razvoj lastne programske opreme in za 1C.

Vsebina:

  • Izdaje MS SQL Server 2019
  • Funkcije licenciranja za SQL Server
  • Zagon namestitve SQL Server
  • Možnosti namestitve za posodobitve strežnika SQL
  • Vrsta namestitve strežnika SQL
  • Sestavni deli SQL Server 2019: kaj potrebujete, kaj morate namestiti
  • Konfigurirajte poimenovanje primerkov SQL Server
  • Konfigurirajte nastavitve storitev SQL Server, kodiranje
  • Konfigurirajte Engine Database v SQL Server

Izdaje MS SQL Server 2019

Skupno je 5 številk (izdaj) MSSQL 2019:

  • Izraziti je brezplačna izdaja za uporabo. Funkcionalnost je precej omejena, najbolj opazna omejitev ekspresne različice je največja osnovna velikost 10 GB. Ta izdaja je primerna za majhne projekte, kot so študentsko delo ali za usposabljanje SQL / T-SQL.
  • Standardno To je polno plačana izdaja, vendar številne funkcije še vedno manjkajo. Največja količina RAM-a, ki jo lahko uporablja SQL Server, je 128 GB, obstajajo tudi skupine AlwaysOn Availability Groups in druge komponente. Standard je zasnovan za aplikacije v majhnih organizacijah.
  • Enterprise vključuje vse možne funkcije in komponente, brez omejitev. Korporativno izdajo običajno uporabljajo velike korporacije ali podjetja, ki potrebujejo funkcionalnost te različice..
  • Razvijalec izdaja, pa tudi Enterprise nima nobenih omejitev in se lahko uporablja brezplačno, lahko pa se uporablja le za razvoj in testiranje aplikacij.
  • Splet izdaja se skoraj ne razlikuje od standardne, razen strožjih omejitev funkcionalnosti in ustrezno nižjih stroškov licenciranja.

Funkcije licenciranja za SQL Server

MS SQL Server je licenciran pod 2 modela:

  • PO ZELO - Licence MSSQL za jedra strežnika
  • SERVER + CAL - licenca v celoti za strežnik in za vsakega uporabnika, ki bo delal s strežnikom

Izdaja podjetja je lahko licencirana samo kot PER CORE

Tudi v MSSQL Server 2019 je nova priložnost za licenciranje vsebnikov, virtualnih strojev in velikih podatkovnih grozdov.

Za več informacij glejte licenco SQL Server..

Zagon namestitve SQL Server

V tem članku bomo na Windows Server 2019 namestili MS SQL Server 2019 Enterprise Edition..

Opomba SQL Server 2019 predstavlja popolno podporo za Linux, pa tudi za Docker in Kubernetes.
  • Prenesite in razpakirajte namestitveno sliko SQL Server 2019. Zaženite setup.exe;
  • Ker bomo v tem članku namestili navaden samostojni primerek, na zavihku Namestitev izberite »Nova samostojna namestitev SQL Serverja”.

V namestitvenem programu SQL Server lahko izvedete še mnoga druga dejanja: posodobite stari primerek, popravite pokvarjeno in nekatere druge stvari.

Možnosti namestitve za posodobitve strežnika SQL

Na tem koraku lahko omogočite iskanje za posodobitve prek Windows Update. Ali želite to možnost omogočiti ali ne, je odvisno od vas. Vse je odvisno od vašega načrtovanja posodobitev in zahtevnosti za odpornost strežnika. Če nimate jasnega načrta posodobitve za svoje strežnike, je bolje, da to možnost pustite omogočeno..

Na tem koraku lahko vidite naslednjo napako:

Napaka 0x80244022: Izjema od HRESULT: 0x80244022

Povezana je s težavami s storitvijo Windows Update. Načini rešitve so opisani tukaj https://winitpro.ru/index.php/2017/08/10/oshibka-0x80244022-i-problema-ostanovki-wsuspool/

Kliknite Naprej.

Korak Namestite nastavitvene datoteke se bo zgodilo samodejno. Pripravil bo datoteke za namestitev.

Namestite pravila Samodejno bo šlo tudi, če namestitveni program ne bo zaznal težav, ki jih je treba rešiti pred namestitvijo MSSQL (na primer ponovni zagon računalnika ali nezdružljivost vaše različice Windows z različico SQL Serverja).

Vrsta namestitve strežnika SQL

Na tem koraku lahko izberete namestitev novega primerka ali dodate funkcionalnost v že nameščen primerek. V našem primeru izberite »Izvedite novo namestitev«.

Zdaj morate vnesti ključ izdelka. Če ni ključa, izberite Brezplačno izdajo (na primer Developer), vendar ne pozabite, da imate z izdajo Developer pravico samo razvijati in testirati programsko opremo, ne pa uporabljati strežnika v produktivnem okolju.

Na korak Pogoji licence sprejeti licenčno pogodbo.

Sestavni deli SQL Server 2019: kaj potrebujete, kaj morate namestiti

Na tej točki boste pozvani, da namestite različne komponente SQL Server. Oglejmo jih podrobneje, poglejmo, kaj je treba postaviti v različnih situacijah:

  1. Storitve podatkovnih baz - To je jedro motorja SQL Serverja. Obvezna namestitev.
  2. Podvajanje SQL strežnika - storitve kopiranja Komponenta se uporablja precej pogosto, zato če niste prepričani, ali jih potrebujete, je bolje, da potrdite polje za namestitev.
  3. Storitve strojnega učenja in jezikovne razširitve - Storitve za izvajanje kode R / Python / Java v kontekstu SQL Server. Obvezno, če se nameravate vključiti v strojno učenje.
  4. Celotno besedilo in semantične odlomke za iskanje - Komponenta je potrebna, če potrebujete tehnologijo iskanja v celotnem besedilu ali pomensko iskanje v dokumentih (na primer docx). V primeru semantičnega iskanja dokumentov boste potrebovali tudi FILESTREAM, o tem spodaj.
  5. Storitve kakovosti podatkov - storitve za popravljanje in potrjevanje podatkov. Če niste prepričani, ali potrebujete DQS, je bolje, da ga ne namestite..
  6. Storitev poizvedbe PolyBase za zunanje podatke - Tehnologija za dostop do zunanjih podatkov, na primer na drugem SQL strežniku ali v Oracle Database. Java-konektor za vire podatkov HDFS spada v tehnologijo PolyBase in je potreben, če želite delati s tehnologijo HDFS.
  7. Analizne storitve - znan tudi kot SSAS. Tehnologija za poslovno poročanje (BI) in delo z OLAP. Uporablja se v velikih podjetjih za poročanje.

Nato pojdite na seznam skupnih funkcij (funkcije, ki veljajo za celoten strežnik in ne za določen primerek).

  1. Strojni učni strežnik (samostojen) - enako kot Storitve strojnega učenja in jezikovne razširitve, vendar z možnostjo namestitve brez samega motorja SQL Server.
  2. Odjemalec za kakovost podatkov - enako kot DQS, samostojno.
  3. Povezovanje z orodji za stranke - ODBC, knjižnice OLE DB in nekatere druge. Priporočamo, da nastavite.
  4. Integracijske storitve - storitve integracije podatkov, znane tudi kot SSIS. Tehnologija podatkov ETL (Extract, Transform, Load). SSIS je potreben, če želite samodejno uvoziti podatke in jih spremeniti med uvoznim postopkom. Za merjenje SSIS je potreben povečevalec / delavec. Če niste prepričani, ali jih potrebujete, jih ne označujte.
  5. Orodje za stranke nazaj Združljivost - Zastareli DMV in sistemski postopki. Priporočam, da dajo.
  6. SDK orodja za stranke - paket virov za razvijalce. Ne morete staviti, če niste prepričani, ali jo potrebujete.
  7. Razdeljeni krmilnik za odmerek / odjemalec - podvajajo in izboljšujejo funkcionalnost Profilerja SQL Server. Razdeljene storitve Replay so potrebne za modeliranje obremenitev in različne vrste testiranja zmogljivosti..
  8. SDK povezljivost odjemalca SQL - ODBC / OLE DB SDK za razvijalce.
  9. Glavne podatkovne storitve - komponenta Microsoft Power BI. Potrebno za analizo podatkov, potrjevanje, integracijo in popravljanje.

Nekatere od teh komponent (npr. Povezava Java za vire podatkov HDFS) morda niso na voljo v starejših različicah SQL Serverja..

Nekoliko nižje lahko na istem koraku določite imenik za datoteke SQL Server. Če nimate pravega razloga, da bi ga spremenili, zapustite standard (C: \ programske datoteke \ Microsoft SQL Server \).

Ko izberete potrebne komponente MSSQL, namestitveni program preveri združljivost komponent z vašim sistemom in če ni težav, bo ta korak samodejno.

Konfigurirajte poimenovanje primerkov SQL Server

Parameter lahko pustite Privzeti primerek, v tem primeru bo ime vašega primerka MSSQLSERVER. Pri izbiri Imenovani primerek podate ime primerka strežnika SQL. V mojem primeru bom navedel primer Dev. ID primerka je priporočljivo nastaviti tako, kot je ime primerka, da se izognete zmedi.

Nameščeni primerki prikaže primere MSSQL, nameščene na strežniku, že jih imam.

Konfigurirajte nastavitve storitev SQL Server, kodiranje

Na kartici Service Accounts podajte račune, pod katerimi se bodo na strežniku izvajale storitve SQL Server. Uporaba dobre MSA (upravljanih računov za storitve) in gMSA (Group Managed Service Accounts) kot najbolj zanesljivih v smislu varnosti se šteje za dobro prakso. Uporabil bom navaden domenski račun.

Nastavite ob Agent SQL Server polje Vrsta zagona v Samodejno, v nasprotnem primeru bo treba agent zagnati ročno.

Z začetkom SQL Server 2016 je bilo mogoče nastaviti tudi parameter IFI (takojšnja inicializacija datotek) pri nameščanju strežnika. V namestitvenem programu se imenuje "Odobrite privilegij opravila vzdrževanja glasnosti za SQL Server Database Engine". Vključitev pomeni, da stari podatki ne bodo prepisani z ničlami, če:

  • Izdelava baze podatkov;
  • Dodajanje podatkov v podatkovne datoteke ali datoteke dnevnika;
  • Povečati velikost obstoječih datotek (vključno z operacijami samodejnega povečevanja);
  • Obnova baze podatkov / skupin datotek.

To pospeši postopek inicializacije datotek, a zmanjša varnost, saj stari podatki niso prepisani ničle, zato so stare informacije v teh datotekah lahko delno dostopne.

Priporočam, da omogočite to možnost, če tveganje puščanja podatkov ni pomembno.

V naslednjem koraku morate izbrati Kolekcija.

Grobo rečeno, Collation je nastavitev kodiranja SQL Server. Ta parameter nastavi kodiranje strani, pravila razvrščanja, kodiranje char / varcharja in druge jezikovne nastavitve.

Ko namestite strežnik, izberete Collation za celoten SQL Server. Po namestitvi boste lahko ta parameter spremenili, vendar to ne bo enostavno, zato morate nemudoma izbrati ustrezen Collation za svoje naloge.

Za CIS je priporočljivo izbrati Cirilica_General_CI_AS. Če so podatki samo v angleščini, lahko izberete SQL_Latin1_General_CP1_CI_AS.

Če nameravate uporabljati SQL Server v bojnih okoljih, si oglejte dokumentacijo za izbiro Collation, saj je to pomemben parameter, čeprav ga je mogoče nastaviti za določeno bazo podatkov..

Konfigurirajte Engine Database v SQL Server

Na korak Konfiguracija motorja baze podatkov Na voljo je 6 zavihkov, začnimo po vrstnem redu:

V konfiguraciji strežnika morate izbrati način overjanja in določiti račun za skrbnika SQL strežnika.

Izbirate lahko med dvema načinoma: Način preverjanja pristnosti Windows in Mešani način.

  • S preverjanjem pristnosti Windows se lahko prijavijo samo uporabniki vaše domene ali računalnik z operacijskim sistemom Windows.
  • V mešanem načinu bo poleg pooblastila Windows na voljo tudi avtorizacija v skladu s poverilnicami samega SQL Serverja.

Microsoft priporoča uporabo avtentikacije Windows kot najbolj varno, v praksi pa se boste najverjetneje morali prijaviti v strežnik iz drugih aplikacij. Na primer, napisano v javi in ​​v tem primeru je overjanje strežnika SQL nujno..

Če ste prepričani, da se bodo vaši uporabniki prijavili samo iz računalnikov Windows in aplikacij, ki podpirajo preverjanje pristnosti Windows, izberite način preverjanja pristnosti Windows.

V mojem primeru sem nastavil Mešani način. V tem načinu boste morali registrirati geslo uporabnika sa in izbrati račun Windows, ki bo imel administrativne pravice.

Zavihek Podatkovni imeniki morate izbrati imenik, v katerem bo SQL Server shranil bazo podatkov in dnevnike transakcij.

Za podatke je najbolje dodeliti ločen niz RAID. Diskovni podsistem je ključnega pomena za uspešnost SQL Serverja, zato morate izbrati najboljše možnosti za shranjevanje podatkov, ki so vam na voljo, naj bo to NAS ali lokalni RAID.

Dobra praksa je, da vse imenike (sistemske baze podatkov, uporabniške baze podatkov, dnevnike uporabniških baz podatkov, varnostne kopije) razdelite v različna skladišča. Tako boste dosegli največjo zmogljivost SQL Serverja na ravni dela s shranjevanjem podatkov..

V mojem primeru bom za vse imenike navedel ločen disk z RAID 1.

Zavihek Tempdb parametri za bazo tempdb so konfigurirani. Njegova pravilna konfiguracija je pomembna za uspešnost strežnika, saj je ta baza podatkov vključena v skoraj vse podatkovne operacije.

  • Število datotek - število podatkovnih datotek za tempdb. Določiti morate število datotek, odvisno od jeder procesorja. Dobra praksa je, da nastavite število datotek enako številu procesorskih jeder, deljenih z 2. To pomeni, da za 32 jeder vašega strežnika priporočamo 16 datotek. Tudi, ne glede na število jeder, ni priporočljivo postaviti manj kot 8 datotek, to je potrebno, da se izognete težavam, opisanim tukaj https://support.microsoft.com/en-us/kb/2154845 .
  • Začetna velikost - začetna velikost podatkovnih datotek tempdb. Vsakič, ko se strežnik znova zažene, se velikost tempdb ponastavi na prvotno velikost. Priporočljivo je, da določite velikost podatkovnih datotek, odvisno od predvidene obremenitve. Če ne morete načrtovati prihodnje delovne obremenitve, pustite 8 MB. Če izberete ločeno matriko / disk za datoteke tempdb (glejte spodaj), je najbolje, da določite velikost datoteke, ki bi v celoti napolnila disk, da se izognete stalnim operacijam razširjanja datotek.
  • Avtohrup - korak za povečanje datotek tempdb. Velikost je treba nastaviti glede na začetno velikost. Če ne morete načrtovati bremena, pustite 64 MB. Upoštevajte, da če je omogočen IFI (takojšnja inicializacija datotek), bo čakanje na zaklepe na priponi datoteke veliko manj. Ni priporočljivo, da velikost koraka nastavite preveliko, saj to povzroči znatne zamude pri povečanju velikosti datoteke.
  • Podatkovni imeniki - imenike za gostovanje datotek tempdb. Če določite več imenikov, bodo datoteke nameščene z algoritmom Round-robin, torej ciklično. Grobo rečeno, če na primer navedete 4 imenike, bodo podatkovne datoteke enakomerno porazdeljene po vseh imenikih. Za podatkovne datoteke je dobra praksa, da dodate različne diskovne nize..
  • Datoteka TempDb Log: Začetna velikost / Autogrowth - nastavitev začetne velikosti in koraka povečanja datoteke dnevnika tempdb. Upoštevati morate ista pravila kot za podatkovne datoteke tempdb..
  • Imenik dnevnikov - imenik za shranjevanje datoteke dnevnika tempdb. Datoteka dnevnika je samo 1, ne glede na število podatkovnih datotek, je naveden samo 1 imenik. Če je mogoče, izberite ločeno matriko za datoteko dnevnika..

Zavihek Maxdop.

MaxDOP je parameter SQL Server, ki je odgovoren za vzporedno izvajanje poizvedb in s tem stopnjo paralelizma. Da bi SQL Server za obdelavo vzporednih načrtov uporabil vsa procesorska jedra, nastavite 0 kot vrednost MaxDOP. Če želite iz nekega razloga onemogočiti vzporedno izvajanje poizvedb, nastavite 1 kot vrednost. Za največjo zmogljivost konfigurirajte MaxDOP v skladu s pravili v tabeli (https://go.microsoft.com/fwlink/?linkid=2084761):

Strežnik z enim gostiteljem NUMANajveč 8 logičnih procesorjevMAXDOP ne sme presegati števila logičnih procesorjev
Strežnik z enim gostiteljem NUMAVeč kot 8 logičnih procesorjevMAXDOP mora biti 8
Strežnik z več vozlišči NUMANajveč 16 logičnih procesorjev na vozlišče NUMAMAXDOP ne sme presegati števila logičnih procesorjev na vozlišče NUMA
Strežnik z več vozlišči NUMAVeč kot 16 logičnih procesorjev na vozlišče NUMAVrednost MAXDOP mora biti enaka polovici števila logičnih procesorjev na vozlišče NUMA z vrednostjo MAX 16

V mojem primeru nastavim 0. To bo zagotovilo najboljše rezultate za izvajanje načrtov za vzporedne zahteve, vendar to lahko povzroči zamude, saj bodo druge zahteve morale počakati, dokler se trenutna zahteva ne izpolni, ker bodo vsa procesorska jedra zasedena pri izvajanju trenutne zahteve.

Za strežnik "boj" še vedno priporočam, da upoštevate pravila iz tabele in preberete dokumentacijo na zgornji povezavi.

Zavihek Spomin - Določiti morate najmanjšo in največjo količino RAM-a, ki ga bo uporabljal SQL Server. Ker je za strežnik precej težko predvideti potrebno glasnost, je priporočljivo, da se SQL Serveru dodeli 80-85% celotne RAM strežnika. Če želite izvedeti resnično količino uporabljene RAM-ove, morate porabo pomnilnika spremljati s pomočjo posebnega DMV-ja (Dynamic Management View) ves čas in spremljati vrhove porabe RAM-a. Samo z razpoložljivostjo teh informacij lahko napovedujete dejansko porabo RAM-a.

Pustil bom privzete vrednosti (min 0 in največ 2147483647 MB).

Jeziček FILESTREAM - omogočite tehnologijo FILESTREAM. Omogoča vam shranjevanje binarnih datotek v datotečnem sistemu in omogoča dostop do njih prek SQL. Če niste prepričani, da želite delati z binarnimi podatki na ravni SQL, pustite FILESTREAM izključeno.

Korak Pravila konfiguracije funkcije se samodejno prenese. Preberite povzetek v poglavju Pripravljen za namestitev in kliknite Namestitev.

S tem je zaključena osnovna namestitev SQL Server 2019 Enterprise. V naslednjem članku si bomo ogledali glavne načine analize uspešnosti in težav v SQL Serverju..

Opomba V starejših različicah (SQL Server 2014, 2016) nekatere zavihki in možnosti morda niso na voljo.