Osnovne postavke i preporuke za instalaciju MS SQL Server 2019

U ovom ćemo vas članku provesti kroz instalaciju Microsoft SQL Server 2019 s opisom svih opcija, komponenti, trenutnih preporuka i najboljih praksi..

MS SQL Server vodeći je RDBMS (sustav za upravljanje relacijskim bazama podataka), kao i glavni konkurent Oracle Database u korporativnom segmentu. U CIS-u se MSSQL najčešće koristi za interni razvoj aplikacijskog softvera i za 1C.

sadržaj:

  • Izdanja MS SQL Server 2019
  • Značajke licenciranja za SQL Server
  • Pokretanje instalacije SQL Servera
  • Mogućnosti instalacije za ažuriranja SQL Server
  • Vrsta instalacije SQL Servera
  • SQL Server 2019 komponente: što trebate, što trebate instalirati
  • Konfigurirajte imenovanje instanci SQL Server
  • Konfigurirajte postavke usluga SQL Server, Encoding
  • Konfiguriranje motora baza podataka u SQL poslužitelju

Izdanja MS SQL Server 2019

Ukupno postoji 5 izdanja (izdanja) MSSQL-a 2019:

  • Express je besplatno izdanje za upotrebu. Funkcionalnost je prilično ograničena, najočitije ograničenje ekspres verzije je maksimalna veličina baze od 10 GB. Ovo je izdanje pogodno za male projekte, poput studentskog rada ili za obuku SQL / T-SQL.
  • standard Ovo je cjelovito plaćeno izdanje, ali još uvijek nedostaju mnoge značajke. Maksimalna količina RAM-a koju SQL Server može koristiti je 128 GB, tu su i AlwaysOn Availability Groups i ostale komponente. Standard je dizajniran za primjenu u malim organizacijama.
  • poduzeće uključuje sve moguće funkcije i komponente, bez ograničenja. Korporativno izdanje obično koriste velike korporacije ili tvrtke koje trebaju funkcionalnost ove verzije..
  • razvijač izdanje kao i Enterprise nema ograničenja i može se besplatno koristiti, ali može se koristiti samo za razvoj aplikacija i testiranje.
  • tkanje izdanje se gotovo ne razlikuje od standardnog, osim što su stroža ograničenja u funkcionalnosti i odgovarajuće niži troškovi licenciranja.

Značajke licenciranja za SQL Server

MS SQL Server licenciran je u dva modela:

  • PO CORE - Licence MSSQL za jezgre poslužitelja
  • SERVER + CAL - licenca u potpunosti za poslužitelj i za svakog korisnika koji će raditi s poslužiteljem

Enterprise izdanje može se licencirati samo kao PER CORE

Također u MSSQL Server 2019 nova je prilika za licenciranje spremnika, virtualnih strojeva i velikih klastera podataka.

Pogledajte licenciranje za SQL Server za više informacija..

Pokretanje instalacije SQL Servera

U ovom ćemo članku instalirati MS SQL Server 2019 Enterprise Edition na Windows Server 2019..

Napomena. SQL Server 2019 uvodi potpunu podršku za Linux, kao i za Docker i Kubernetes.
  • Preuzmite i raspakirajte instalacijsku sliku SQL Server 2019. Pokrenite setup.exe;
  • Budući da ćemo u ovom članku instalirati redovnu samostalnu instancu, na kartici Instalacija odaberite "Nova samostalna instalacija SQL Servera".

U instalacijskom programu SQL Server možete izvesti i mnoge druge radnje: ažurirati staru instancu, popraviti pokvarenu i neke druge stvari.

Mogućnosti instalacije za ažuriranja SQL Server

Na ovom koraku možete omogućiti pretraživanje ažuriranja putem Windows Ažuriranja. Da li ćete omogućiti ovu opciju ili ne želite ovisiti o vama. Sve ovisi o vašim zahtjevima za planiranje ažuriranja i zahtjevima otpornosti poslužitelja. Ako nemate jasan plan ažuriranja vaših poslužitelja, bolje je ostaviti ovu mogućnost omogućenom..

Na ovom koraku možete vidjeti sljedeću pogrešku:

Pogreška 0x80244022: Izuzetak od HRESULT: 0x80244022

Povezana je s problemima sa servisom Windows Update. Metode rješenja su opisane ovdje https://winitpro.ru/index.php/2017/08/10/oshibka-0x80244022-i-problema-ostanovki-wsuspool/

Kliknite Dalje.

korak Instalirajte instalacijske datoteke dogodit će se automatski. On će pripremiti datoteke za instalaciju.

Instalirajte pravila automatski će se pokrenuti ako instalacijski program ne pronađe probleme koje je potrebno riješiti prije instaliranja MSSQL-a (na primjer, ponovno pokretanje računala ili nespojivost vaše verzije sustava Windows s verzijom SQL Server-a).

Vrsta instalacije SQL Servera

Na ovom koraku možete odabrati instalirati novu instancu ili dodati funkcionalnost na već instaliranu instancu. U našem slučaju odaberite "Izvođenje nove instalacije".

Sada morate unijeti ključ proizvoda. Ako nema ključa, odaberite Besplatno izdanje (na primjer, Developer), ali imajte na umu da s izdanjem Developer-a imate pravo samo na razvoj i testiranje softvera, ali ne i na poslužitelju u produktivnom okruženju.

Na korak Uvjeti licenciranja prihvatite ugovor o licenci.

SQL Server 2019 komponente: što trebate, što trebate instalirati

U ovom će se trenutku od vas zatražiti da instalirate razne komponente SQL Server. Pogledajmo ih detaljnije, vidimo što treba staviti u različitim situacijama:

  1. Usluge baza podataka - Ovo je osnovni motor SQL Servera. Obavezna instalacija.
  2. Replikacija SQL Servera - usluge umnožavanja Komponenta se koristi prilično često, tako da ako niste sigurni trebate li ih, bolje je potvrditi okvir za instalaciju.
  3. Usluge strojnog učenja i proširenja jezika - Usluge za izvršavanje R / Python / Java koda u kontekstu SQL Servera. Obavezno ako se namjeravate baviti strojnim učenjem.
  4. Cjeloviti i semantički izvodi za pretraživanje - Komponenta je potrebna ako vam je potrebna tehnologija pretraživanja teksta i semantička pretraga u dokumentima (na primjer, docx). U slučaju semantičkog pretraživanja dokumenata, trebat će vam i FILESTREAM, o tome u nastavku.
  5. Usluge kvalitete podataka - usluge ispravke i provjere podataka. Ako niste sigurni trebate li DQS, onda je bolje da ga ne instalirate..
  6. Usluga upita za PolyBase za vanjske podatke - Tehnologija pristupa vanjskim podacima, primjerice na drugom SQL Serveru ili u Oracle Database. Java priključak za HDFS izvore podataka pripada tehnologiji PolyBase i potreban je ako želite raditi s HDFS tehnologijom.
  7. Usluge analize - poznat i kao SSAS. Tehnologija za poslovno izvještavanje (BI) i rad s OLAP-om. Koristi se u velikim tvrtkama za izvještavanje.

Zatim idite na popis zajedničkih značajki (funkcije koje se primjenjuju na cijeli poslužitelj, a ne na određenu instancu).

  1. Server za strojno učenje (samostalni) - isto kao i Usluge strojnog učenja i proširenja jezika, ali s mogućnošću instaliranja bez samog SQL Server motora.
  2. Klijent kvalitete podataka - isto kao i DQS, samo samostalno.
  3. Povezivanje s alatima klijenta - ODBC, OLE DB knjižnice i neke druge. Preporučujemo da postavite.
  4. Integracijske usluge - usluge integracije podataka, poznate i kao SSIS. Tehnologija podataka ETL (Ekstrakt, pretvaranje, učitavanje). SSIS je potreban ako želite automatizirati uvoz podataka i promijeniti ih tijekom postupka uvoza. Scale Out Master / Worker potrebna je za skaliranje SSIS-a. Ako niste sigurni trebate li ih, onda ih nemojte označavati.
  5. Kompatibilnost klijenta unatrag kompatibilnost - Zastareli DMV i sistemske procedure. Preporučujem staviti.
  6. Paket SDK alata za klijente - paket resursa za razvojne programere. Ne možete se kladiti ako niste sigurni da li vam treba.
  7. Distribuirani kontroler za reprodukciju / klijent - kopirati i poboljšati funkcionalnost Profilera SQL Server. Distribuirane Replay usluge potrebne su za modeliranje opterećenja i razne vrste testiranja performansi..
  8. SDK za povezivanje SQL klijenta - ODBC / OLE DB SDK za programere.
  9. Glavne usluge podataka - komponenta iz Microsofta Power BI. Potrebno za analizu podataka, provjeru valjanosti, integraciju i ispravljanje.

Neke od ovih komponenti (npr. Java priključak za izvore podataka HDFS) možda nisu dostupne u starijim verzijama SQL Servera..

Malo niže, na istom koraku, možete odrediti direktorij za datoteke SQL Server. Ako nemate dobar razlog da ga promijenite, napustite standard (C: \ Programske datoteke \ Microsoft SQL Server \).

Nakon što odaberete potrebne MSSQL komponente, instalacijski program provjerava kompatibilnost komponenata sa vašim sustavom, a ako nema problema, ovaj korak će se automatski pokrenuti..

Konfigurirajte imenovanje instanci SQL Server

Možete ostaviti parametar Zadana instanca, u ovom će slučaju vaše ime instance biti MSSQLSERVER. Prilikom izbora Imenovana instanca određujete naziv instancije SQL Servera. U mom slučaju imenovat ću instancu DEV. ID instancije preporučuje se postaviti na isto ime instancije kako se izbjegava zabuna.

Instalirane instance prikazuju MSSQL instance instalirane na poslužitelju, a već je imam.

Konfigurirajte postavke usluga SQL Server, Encoding

Na kartici Service Accounts odredite račune pod kojima će se usluge SQL Server pokrenuti na host. Korištenje MSA (Managed Service Accounts) i gMSA (Group Managed Service Accounts) tehnologija kao najpouzdanijih u pogledu sigurnosti smatra se dobrom praksom. Koristit ću uobičajeni račun domene.

Postavite u Agent SQL Server polje Vrsta pokretanja u automatski, inače će se agent morati pokrenuti ručno.

Također, počevši od SQL Server 2016, postalo je moguće postaviti parametar IFI (Instant Initialization File) prilikom instaliranja poslužitelja. U programu za instalaciju zove se "Odobravanje privilegija zadatka održavanja volumena SQL Server Database Engine". Njena uključenost znači da stari podaci neće biti prepisani nulama kada:

  • Izrada baze podataka;
  • Dodavanje podataka u podatkovne datoteke ili datoteke zapisa;
  • Povećajte veličinu postojećih datoteka (uključujući operacije automatskog uvećavanja);
  • Vraćanje baze podataka / grupa datoteka.

To ubrzava proces inicijalizacije datoteka, ali smanjuje sigurnost, jer stari podaci nisu prepisani nulama, pa će stare informacije sadržane u tim datotekama biti djelomično dostupne..

Preporučujem da se ova opcija omogući ako rizik od curenja podataka nije značajan.

U sljedećem koraku trebali biste odabrati sravnjivanje.

Grubo govoreći, Collation je postavka kodiranja za SQL Server. Ovaj parametar postavlja kodiranje stranice, pravila razvrstavanja, char / varchar kodiranje i ostale jezične postavke.

Kada instalirate poslužitelj, odaberete Collation za cijeli SQL Server. Nakon instalacije moguće je izmijeniti ovaj parametar, ali to neće biti lako, pa morate odmah odabrati odgovarajuću Collation za svoje zadatke.

Za ZND preporučuje se odabir Cyrillic_General_CI_AS. Ako su podaci samo na engleskom, možete odabrati SQL_Latin1_General_CP1_CI_AS.

Ako planirate koristiti SQL Server u borbenom okruženju, potražite dokumentaciju za odabir Collation jer je ovo važan parametar, iako se može postaviti za određenu bazu podataka..

Konfiguriranje motora baza podataka u SQL poslužitelju

Na korak Konfiguracija motora baze podataka Dostupno je 6 kartica, krenimo redom:

U konfiguraciji poslužitelja morate odabrati Način provjere autentičnosti i odrediti račun za administratora SQL Servera.

Imate dva načina izbora: Način provjere autentičnosti za Windows i Mješoviti način.

  • S Windows autentifikacijom mogu se prijaviti samo korisnici vaše domene ili računala sa sustavom Windows.
  • U mješovitom načinu rada, osim Windows ovlaštenja, bit će dostupna i autorizacija prema vjerodajnicama samog SQL Servera.

Microsoft preporučuje korištenje provjere autentičnosti Windows kao najsigurnije, ali u praksi ćete se najvjerojatnije morati prijaviti na poslužitelj iz drugih aplikacija. Na primjer, napisano u javi, a u ovom je slučaju neophodna provjera autentičnosti SQL poslužitelja..

Ako ste sigurni da će se vaši korisnici prijaviti samo s Windows računala i aplikacija koje podržavaju provjeru autentičnosti za Windows, odaberite način provjere autentičnosti za Windows.

U mom slučaju postavila sam Mješoviti način. U ovom načinu morat ćete registrirati lozinku od korisnika i odabrati Windows račun koji će imati administrativna prava.

kartica Katalozi podataka morate odabrati direktorij u koji će SQL Server pohraniti bazu podataka i zapise transakcija.

Za podatke je najbolje rasporediti zasebni RAID polje. Diskovni podsustav od presudne je važnosti za performanse SQL Servera, tako da trebate odabrati najbolje opcije za pohranu podataka koje su vam dostupne, bilo da su to NAS ili lokalni RAID s brzih diskova.

Dobra je praksa distribuirati sve direktorije (sistemske baze podataka, korisničke baze podataka, zapise korisničkih baza podataka, sigurnosne kopije) u različita spremišta. Na taj način, postići ćete maksimalne performanse od SQL Servera na razini rada sa pohranom podataka..

U mom slučaju, naznačit ću zaseban disk s RAID 1 za sve direktorije.

kartica tempdb parametri za tempdb bazu su konfigurirani. Njegova ispravna konfiguracija važna je za performanse poslužitelja, jer je ova baza podataka uključena u gotovo sve podatkovne operacije.

  • Broj datoteka - broj podatkovnih datoteka za tempdb. Morate odrediti broj datoteka ovisno o jezgrama procesora. Dobra je praksa postaviti broj datoteka jednak broju procesorskih jezgara podijeljen s 2. To jest, za 32 jezgre vašeg poslužitelja preporučuje se 16 datoteka. Također, bez obzira na broj jezgara, ne preporučuje se postavljanje manje od 8 datoteka, ovo je neophodno kako bi se izbjegli ovdje opisani problemi https://support.microsoft.com/en-us/kb/2154845 .
  • Početna veličina - početna veličina podataka podataka tempdb. Svaki put kada se server ponovno pokrene, veličina tempdb vratit će se na izvornu veličinu. Preporučuje se odrediti veličinu podatkovnih datoteka ovisno o planiranom učitavanju. Ako ne možete planirati svoje buduće radno opterećenje, ostavite 8 MB. Ako odaberete zasebni niz / disk za tempdb datoteke (više o tome u nastavku), najbolje je navesti veličinu datoteke koja bi u potpunosti popunila disk kako bi se izbjegle stalne operacije uvećavanja datoteka.
  • Autogrowth - korak za povećanje tempdb datoteka. Veličina treba biti postavljena ovisno o početnoj veličini. Ostavite 64 MB ako ne možete planirati opterećenje. Imajte na umu da ako je omogućen IFI (Instant File Initialization), čekanje na zaključavanje proširenja datoteke bit će mnogo manje. Ne preporučuje se postavljanje veličine koraka prevelika, jer će to uzrokovati značajna kašnjenja pri povećanju veličine datoteke.
  • Katalozi podataka - mape za hosting datoteka tempdb datotekama podataka. Ako odredite nekoliko direktorija, datoteke će biti smještene pomoću algoritma Round-robin, to jest ciklično. Grubo govoreći, kada specificirate, na primjer, 4 direktorija, datoteke podataka bit će jednako raspoređene u svim mapama. Dobra je praksa dodati različite diskovne nizove za podatkovne datoteke..
  • Datoteka TempDb Log: Početna veličina / Autogrowth - postavljanje početne veličine i koraka povećanja datoteke dnevnika tempdb. Trebate slijediti ista pravila kao i za datoteke podataka tempdb..
  • Imenik dnevnika - mapu za spremanje datoteke dnevnika tempdb. Datoteka zapisa je samo 1, bez obzira na broj podataka, naznačen je samo 1 direktorij. Ako je moguće, odaberite zasebni niz za datoteku dnevnika..

umetak MaxDOP.

MaxDOP je parametar SQL Server koji je odgovoran za paralelno izvršavanje upita i, sukladno tome, stupanj paralelizma. Kako bi SQL Server mogao koristiti sve procesorske jezgre za obradu paralelnih planova, postavite 0 kao vrijednost MaxDOP. Ako iz nekog razloga želite onemogućiti paralelno izvršavanje upita, postavite 1 kao vrijednost. Za maksimalne performanse konfigurirajte MaxDOP prema pravilima u tablici (https://go.microsoft.com/fwlink/?linkid=2084761):

Poslužitelj s jednim NUMA hostomNe više od 8 logičkih procesoraMAXDOP ne smije premašiti broj logičkih procesora
Poslužitelj s jednim NUMA hostomViše od 8 logičkih procesoraMAXDOP mora biti 8
Poslužitelj s više NUMA čvorovaNe više od 16 logičkih procesora po NUMA čvoruMAXDOP ne smije premašiti broj logičkih procesora po NUMA čvoru
Poslužitelj s više NUMA čvorovaViše od 16 logičkih procesora po NUMA čvoruMAXDOP vrijednost mora biti jednaka polovici broja logičkih procesora po NUMA čvoru s MAX vrijednosti 16

U mom slučaju postavio sam 0. To će dati najbolju izvedbu za izvršavanje planova za paralelne zahtjeve, ali to može prouzrokovati kašnjenja, jer će drugi zahtjevi morati pričekati dok se trenutni zahtjev ne ispuni, jer će sve procesorske jezgre biti zauzete u izvršavanju trenutnog zahtjeva.

Za „boj“ poslužitelja, ipak preporučujem da slijedite pravila iz tablice, kao i da pročitate dokumentaciju na gornjoj vezi.

umetak memorija - Morate navesti minimalnu i maksimalnu količinu RAM-a koji će koristiti SQL Server. Budući da je prilično teško predvidjeti potrebnu glasnoću za poslužitelj, preporučuje se dodijeliti 80-85% ukupne RAM-a poslužitelja na SQL Server. Da biste saznali stvarnu količinu RAM-a koji koristite, potrebno je pratiti potrošnju memorije kroz poseban DMV (Dynamic Management View) 24 sata i nadzirati maksimume potrošnje RAM-a. Samo dostupnošću ovih podataka možete predvidjeti stvarnu potrošnju RAM-a.

Ostavit ću zadane vrijednosti (min 0 i max 2147483647 MB).

Kartica FILESTREAM - omogućite FILESTREAM tehnologiju. Omogućuje vam spremanje binarnih datoteka u datotečnom sustavu i omogućuje im pristup putem SQL-a. Ako niste sigurni da želite raditi s binarnim podacima na SQL razini, ostavite FILESTREAM isključen.

Korak Pravila konfiguracije značajki proći će automatski. Pročitajte sažetak u odjeljku Spreman za instalaciju i kliknite Instaliraj.

Ovim se završava osnovna instalacija SQL Server 2019 Enterprise. U sljedećem ćemo članku razmotriti glavne načine analize performansi i problema na SQL Serveru..

Napomena. Na starijim verzijama (SQL Server 2014, 2016) neke kartice i opcije možda nisu dostupne.