Xüsusi diqqət sahəsi – Maksimum Paralellik Dərəcəsi seçimi. Maksimum paralellik dərəcəsinin konfiqurasiyası server konfiqurasiya parametri Paralelliyin maksimum dərəcəsinin konfiqurasiyası server konfiqurasiya parametri

  • Dərslik

Bu təlimat daha sonra SharePoint 2013 üçün istifadə olunacaq SQL Server 2012-nin ingilis versiyasını quraşdırmaq üçün rus dilində sadə bələdçi axtaran yeni başlayanlar üçün nəzərdə tutulub.
Bu məqalə peşəkarlar üçün deyil.

Bütün işlər 3 mərhələyə bölünür:

  • SQL Server 2012 quraşdırılması
  • Server konfiqurasiya parametrinin maksimum paralellik dərəcəsinin qurulması
  • SharePoint 2013 quraşdırmaq üçün nəzərdə tutulan hesabın hüquqlarını konfiqurasiya edin
Məqalədə həmçinin Microsoft .NET Framework 3.5 proqramının MS Windows Server 2012 R2 Standard mühitində quraşdırılması prosesi təsvir olunur.

Diqqət: kəsik altında çoxlu şəkillər var!

SQL Server 2012 quraşdırılması

1. Quraşdırmadan əvvəl, sabit diskinizdə kifayət qədər boş yer olduğundan əmin olmalısınız (mənim vəziyyətimdə 2,7 GB tutdu).
Paylanmaya başladıqdan sonra " seçin Quraşdırma"sol menyuda, sonra " düyməsini basın Yeni SQL Server müstəqil və ya mövcud quraşdırmaya funksiyalar əlavə edin":

2. Quraşdırma sihirbazı başlayacaq. O, yoxlama aparacaq. Siz “Təfsilatı göstər” düyməsini sıxıb ətraflı hesabata baxa bilərsiniz:

3. Ətraflı hesabat. "OK" düyməsini basın:

4. Məhsul açarını daxil edin və “Sonrakı” düyməsini klikləyin:

5. Biz lisenziya müqaviləsinin şərtləri ilə razılaşırıq.
Bunu etmək üçün qutuyu işarələyin " Mən lisenziya şərtlərini qəbul edirəm

6. “Quraşdırma rolu” addımında birinci elementi seçin " SQL Server Xüsusiyyətlərinin Quraşdırılması". "Növbəti" düyməsini basın:

7. “Xüsusiyyət seçimi” addımında “ işarələyin Database Engine Services", "İdarəetmə Vasitələri - Əsas"Və" İdarəetmə Vasitələri - Tamamlanmışdır". Sonra "Növbəti" düyməsini basın:

8. Quraşdırıcı daha sonra başqa yoxlama aparacaq. Siz “Təfsilatı göstər” düyməsini sıxıb ətraflı hesabata baxa bilərsiniz:

9. Ətraflı hesabat. (Bu mərhələdə “Microsoft .NET Framework 3.5 quraşdırılıb...” qaydasında xəta baş verdi. Aşağıda bu haqda ətraflı). "Növbəti" düyməsini basın:

10. “Nümunə Konfiqurasiyası” addımında siz SQL Server xidmət instansiyasını konfiqurasiya etməlisiniz.
Təkrar edirəm ki, bu məqalə yeni başlayanlar üçün nəzərdə tutulub. Buna görə də, SQL Serverin əvvəllər serverinizdə quraşdırılmadığını fərz edəcəyik, yəni bütün standart parametrləri tərk edəcəyik. "Növbəti" düyməsini basın:

11. Bu addımda quraşdırma ustası disk sahəsi tələblərini göstərəcək. "Növbəti" düyməsini basın:

12. "Server Konfiqurasiyası" addımında siz xidmət üçün domen hesabı göstərməlisiniz " SQL Server verilənlər bazası mühərriki". "Hesab adı" və "Parol" sahələrini doldurduqdan sonra "Sonrakı" düyməsini basın:

13. “Verilənlər Bazası Mühərrikinin Konfiqurasiyası” addımında sadəcə olaraq cari istifadəçini SQL server administratorlarına əlavə edin. Bunu etmək üçün "Cari istifadəçi əlavə et" düyməsini və sonra "Növbəti" düyməsini basın:

14. Növbəti addımda “Sonrakı” düyməsini klikləyin:

15. Bundan sonra quraşdırma sihirbazı testi yenidən həyata keçirəcək və nəticələrini göstərəcək. "Növbəti" düyməsini basın:

16. “Quraşdırmağa hazır” addımında sehrbaz ümumi məlumatı göstərəcək. Burada "Quraşdır" düyməsini sıxmalısınız:

17. Quraşdırma tamamlandıqdan sonra yerinə yetirilən əməliyyatlar haqqında məlumat göstərilir:

18. Bu mərhələdə kompüterinizi yenidən başlatmağı çox tövsiyə edirəm. Bəzi hallarda (məsələn, Microsoft .NET Framework 3.5-i quraşdırarkən) quraşdırma sihirbazının özü kompüteri yenidən başlatmağı xahiş edən bir pəncərə göstərəcəkdir. imtina etməyin.

Server konfiqurasiya parametrinin maksimum paralellik dərəcəsinin qurulması

Paralelliyin Maks dərəcəsi parametri üçün standart dəyər 0-dır.
SharePoint 2013 bu parametrin 1 olmasını tələb edir.
Bunu düzəltmək asandır!

1. Başlayın Microsoft SQL Server Management Studio(Başlat - Bütün Proqramlar - Microsoft SQL Server 2012 - SQL Server Management Studio).

2. Server qoşulma ekranında “Qoşul” düyməsini klikləyin.

3. "Serverinizə sağ klikləyin" Obyekt Explorer"və seçin" Xüsusiyyətlər":

4. Açılan server xüsusiyyətləri pəncərəsində, sol menyudan səhifəni seçin " Qabaqcıl" və xassələrin siyahısını ekranın ən aşağısına sürüşdürün. Parametr dəyərini təyin edin " Maksimum Paralellik dərəcəsi"V 1 və OK düyməsini basın:

5. SQL Server Management Studio-nu bağlamayın, sonra bizə lazım olacaq.

SharePoint 2013 quraşdırmaq üçün nəzərdə tutulan hesabın hüquqlarını konfiqurasiya edin

SharePoint 2013-ün quraşdırılacağı hesab SQL serverində yüksək hüquqlara malik olmalıdır.
Bu hesaba aşağıdakı rolların verilməsi tövsiyə olunur:
  • dbcreator
  • təhlükəsizlik admin
  • ictimai
1. SQL Server Management Studio-da " Obyekt Explorer"elementi genişləndir" Təhlükəsizlik". Sonra elementə sağ klikləyin" Girişlər"və seçin" Yeni Giriş":

2. “Giriş adı” sahəsində SharePoint 2013 proqramını quraşdırmağı və konfiqurasiya etməyi planlaşdırdığınız hesabın domen adını daxil edin.

3. Sol menyuda səhifəni seçin " Server rolları" və "dbcreator" və "securityadmin" rollarını yoxlayın, həmçinin "public" rolunun artıq yoxlanıldığından əmin olun. Sonra "OK" düyməsini basın:

İndi SQL server SharePoint 2013-ü quraşdırmağa hazırdır.

MS Windows Server 2012 R2 Standart-da Microsoft .NET Framework 3.5-in quraşdırılması

bəndinin 9-cu addımında " SQL Server 2012 quraşdırılması"Məndə xəta var: .NET Framework 3.5 quraşdırılmayıb.
Bu problemi həll etmək üçün aşağıdakı addımları yerinə yetirməlisiniz:

1. Konsolu açmaq lazımdır" Server meneceri".

2. Sol menyuda “İdarəetmə paneli” elementini seçin.

3. Pəncərənin ortasında “Rollar və xüsusiyyətlər əlavə et” elementinə klikləyin.

4. Açılan sehrbazda “Başlamadan əvvəl” addımını keçin.

5. "Quraşdırma növü" addımında elementi seçin " Rol əsaslı və ya xüsusiyyət əsaslı quraşdırma". "Növbəti" düyməsini basın.

6. Növbəti addımda hər şeyi standart olaraq buraxın və “Sonrakı” düyməsini basın.

7. “Sonrakı” düyməsini klikləməklə “Server Rolları” addımını atlayın.

8. “Xüsusiyyətlər” addımında “.NET Framework 3.5 Xüsusiyyətləri” qutusunu işarələyin. "Növbəti" düyməsini basın.

9. Quraşdırma prosesi başa çatdıqdan sonra siz Rol və Xüsusiyyətlərin Əlavəsi Sihirbazını bağlaya bilərsiniz.

10. Bitdi!

Hər kəsə uğurlar və başınızın üstündə dinc səma!

P.S. Qarşıdan gələn Kosmonavtika Gününüz mübarək!

Heç kimə sirr deyil ki, məhsuldarlığın artırılması ilə bağlı SQL serverinin konfiqurasiyası problemlərini nəzərdən keçirərkən əksər İT mütəxəssisləri aparat təminatının artırılmasına üstünlük verirlər. Ancaq bu həmişə haqlıdırmı? Bütün server konfiqurasiya üsulları artıq istifadə olunubmu? Məlumdur ki, konfiqurasiya parametrləri ilə işləmək və onların standart dəyərlərini dəyişdirmək müəyyən bir sistemin performansını və digər xüsusiyyətlərini yaxşılaşdıra bilər. Bu SQL konfiqurasiya seçimləri arasında onunla bağlı bir çox sualı olan bir seçim var, bu seçim maksimum paralellik dərəcəsidir (DOP) - buna görə də bu barədə danışacağıq.

Maksimum Paralellik Dərəcəsi (DOP) seçimi SQL Serverin sorğunu paralelləşdirə biləcəyi mövzuların sayını müəyyən edir və istifadə olunan server prosessorlarının sayını göstərir. Bu parametr 0 standart dəyərinə malikdir - maksimum paralellik dərəcəsi. Məsələn, əgər sizin 24 nüvəniz varsa, o zaman "maksimum paralellik dərəcəsi"nin dəyəri 24-ə bərabər olacaq və optimallaşdırıcı, lazım bildiyi təqdirdə, bir təlimatı yerinə yetirmək üçün bütün prosessorlardan istifadə edə bilər, yəni sorğu belə olacaq. 24 ipə paralelləşdi. Bu, əksər hallarda yaxşıdır, lakin hamı üçün deyil. Həmçinin, bu parametrin standart dəyərini istifadə etmək həmişə yaxşı deyil. Bu parametri konfiqurasiya etmək, məsələn, aşağıdakı vəziyyətdə lazım ola bilər: tutaq ki, bizdə bütün işçilərin gündəlik əməliyyatlar haqqında məlumat daxil etdiyi bir proqram var və müəyyən bir müddətdə istifadəçilərin hər biri bir sorğu işlədir. müəyyən bir müddət ərzində istifadəçinin bütün əməliyyatları haqqında hesabat. Təbii ki, müddət uzun olarsa, bu sorğunun yerinə yetirilməsi çox vaxt aparacaq və standart olaraq quraşdırılmış DOP ilə bütün mövcud prosessorları tutacaq ki, bu da təbii olaraq digər istifadəçilərin işinə təsir edəcək. Buna görə də, DOP dəyərini dəyişdirməklə, sorğunun özünü dəyişdirmədən digər istifadəçilər üçün SQL serverinin cavab müddətini artıra bilərik.
MS dəyəri aşağıdakı kimi təyin etməyi tövsiyə edir:

Parametrin tamamilə server üçün TSQL-ə qurulması:

EXEC sp_configure "maksimum paralellik dərəcəsi", 4; yenidən konfiqurasiya edin

Bu dəyəri xüsusi TSQL sorğusu üçün də təyin edə bilərsiniz:

AdventureWorks2008R2 İSTİFADƏ edin; Satışdan Cəmi OLARAQ Məhsul ID, Sifariş Miqdarı, Cəmi (Xətt Cəmi) SEÇİN.< $5.00 GROUP BY ProductID, OrderQty ORDER BY ProductID, OrderQty OPTION (MAXDOP 2); GO

Bu misalda maxdop işarəsi maksimum paralellik dərəcəsi parametrinin standart dəyərini 2-yə dəyişir. Cari parametrə belə baxa bilərsiniz:

EXEC sp_configure "Qabaqcılları göstər",1; YENİDƏN KONFIQURA EDİN; EXEC sp_configure "maksimum paralellik dərəcəsi"

İndi gəlin bu dəyərin sorğunun icra sürətinə necə təsir etdiyini görək. Yuxarıda yazılmış test sorğusunun daha uzun müddət icra edilməsi üçün ona başqa bir seçim əlavə edəcəyik. Müraciət aşağıdakı formada olacaq:

< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty

Sınaq maşınımda 'maksimum paralellik dərəcəsi' dəyəri 0-a təyin edilib. MSSQL 4 nüvəli prosessorlu maşında işləyir. Müxtəlif MAXDOP qiymətləri ilə bir sıra eksperimentlər apardım: 1-ə bərabər – sorğu paralelləşdirməsiz; 2-yə bərabər - yalnız 2 nüvədən istifadə etməklə; 4-ə bərabərdir – defolt davamdan istifadə edən seçimi müəyyən etmək üçün hamısından istifadə etməklə və heç bir işarə olmadan. İcra statistikasını əldə etmək üçün siz sorğuya SET STATISTICS TIME ON seçimini daxil etməli, həmçinin Management studio-da sorğu planının göstərilməsi düyməsini aktiv etməlisiniz. Nəticələri orta hesabla götürmək üçün hər sorğunu 3 dəfə dövrədə icra etdim. Nəticələri aşağıda görmək olar:

SEÇİN dt.MəhsulID, dt.SifarişQty, Cəmi(dt.LineTotal) KİMİ Sales.SalesOrderDetail Dt, (Satış.SatışSifarişTəfsilatından * SEÇİN.< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 1); SQL Server Execution Times: CPU time = 45942 ms, elapsed time = 46118 ms. SQL Server Execution Times: CPU time = 45926 ms, elapsed time = 46006 ms. SQL Server Execution Times: CPU time = 45506 ms, elapsed time = 45653 ms.

Sorğu planı göstərir ki, ipucu quraşdırıldıqda (MAXDOP 1) sorğu paralelləşmədən yerinə yetirilib. Sorğunun orta icra müddəti 45925,66 ms

SEÇİN dt.MəhsulID, dt.SifarişQty, Cəmi(dt.LineTotal) KİMİ Sales.SalesOrderDetail Dt, (Satış.SatışSifarişTəfsilatından * SEÇİN.< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 2); SQL Server Execution Times: CPU time = 51684 ms, elapsed time = 28983 ms. SQL Server Execution Times: CPU time = 51060 ms, elapsed time = 26165 ms. SQL Server Execution Times: CPU time = 50903 ms, elapsed time = 26015 ms.

İpucu (MAXDOP 2) quraşdırarkən sorğu paralel olaraq 2 cpu-da yerinə yetirildi, bunu sorğunun icra planında İcra Sayısında görmək olar. Sorğunun orta icra müddəti 27054,33 ms

SEÇİN dt.MəhsulID, dt.SifarişQty, Cəmi(dt.LineTotal) KİMİ Sales.SalesOrderDetail Dt, (Satış.SatışSifarişTəfsilatından * SEÇİN.< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty OPTION (MAXDOP 4); SQL Server Execution Times: CPU time = 82275 ms, elapsed time = 23133 ms. SQL Server Execution Times: CPU time = 83788 ms, elapsed time = 23846 ms. SQL Server Execution Times: CPU time = 53571 ms, elapsed time = 27227 ms.

İpucu (MAXDOP 4) quraşdırarkən sorğu paralel olaraq 4 cpu-da yerinə yetirildi. Sorğunun orta icra müddəti 24735,33 ms

SEÇİN dt.MəhsulID, dt.SifarişQty, Cəmi(dt.LineTotal) KİMİ Sales.SalesOrderDetail Dt, (Satış.SatışSifarişTəfsilatından * SEÇİN.< $5.00) dt2 WHERE dt.UnitPrice < $5.00 GROUP BY dt.ProductID, dt.OrderQty ORDER BY dt.ProductID, dt.OrderQty SQL Server Execution Times: CPU time = 85816 ms, elapsed time = 23190 ms. SQL Server Execution Times: CPU time = 85800 ms, elapsed time = 23307 ms. SQL Server Execution Times: CPU time = 58515 ms, elapsed time = 26575 ms.

sorğu paralel olaraq icra edildi, həmçinin 4 cpu. Sorğunun orta icra müddəti 24357.33ms

bağlantılar: http://support.microsoft.com/kb/2023536

"Maksimum paralellik dərəcəsi" parametri SQL Serverin sorğunu paralelləşdirə biləcəyi maksimum iplik sayını təyin edir. Varsayılan olaraq, bu parametr sıfırdır, yəni serverin prosessor sayından istifadə olunur. Məsələn, 24 nüvəniz varsa, "maksimum paralellik dərəcəsi" nin faktiki dəyəri 24 olacaq və optimallaşdırıcı, lazım bildiyi təqdirdə, sorğunu 24 mövzuya paralelləşdirə bilər. Ümumiyyətlə, bu yaxşıdır, amma həmişə deyil. Həmçinin, bu parametrin standart dəyərindən istifadə etmək həmişə yaxşı deyil.

İndi gəlin bunun niyə yaxşı olmadığına baxaq. Təcrübəmdən bir nümunə verəcəyəm. Bir sorğu var ki, nəzəri olaraq müəyyən bir indeksdən istifadə etməlidir və əvvəlcə bu baş verir. İndeksi axtaran və lazımi məlumatları qaytaran sorğu işə salınır. Hər şey yaxşıdır. Daha sonra verilənlər bazası böyüdükcə cədvələ getdikcə daha çox qeydlər əlavə olunur və müəyyən məqamda optimallaşdırıcı sorğunu daha tez yerinə yetirməyin mümkün olduğunu başa düşür: “Mənim 24 nüvəm varsa niyə indeks axtarışını yerinə yetirməliyəm? Bu o deməkdir ki, mən 24 mövzuda klasterləşdirilmiş indeksi skan edə və mənə lazım olan məlumatları daha tez əldə edə bilərəm!” Bu xüsusi sorğu üçün bu yaxşıdır - daha sürətli işləyir. Amma bu, hamı üçün pisdir, çünki... prosessor resurslarının onlara ayrılmasını gözləməyə məcbur olurlar. Çoxlu sayda eyni vaxtda yerinə yetirilən sorğuları olan sistemlərdə belə paralelləşdirmə yaxşıdan daha çox pisdir. Və məhsuldarlığı artırmaq əvəzinə, daha da pisləşir. Bu yaxınlara qədər bəyənmədiyim anbarlarda MAXDOP işarəsini təyin edərək bu problemi həll etdim. Ancaq indi xüsusi bir Microsoft tövsiyəsi tapdım və onu serverlərimdə tətbiq etdim. "Maksimum paralellik dərəcəsi" üçün optimal dəyəri seçmək üçün tövsiyələr buradadır:"Maksimum paralellik dərəcəsi" konfiqurasiya seçimi üçün Tövsiyələr və Təlimatlar . Bu tövsiyəni sitat gətirirəm:

SQL Server 2008 R2, SQL Server 2008 və SQL Server 2005 serverləri üçün aşağıdakı təlimatdan istifadə edin: a. Səkkiz və ya daha az prosessoru olan serverlər üçün N-nin prosessorların sayına bərabər olduğu aşağıdakı konfiqurasiyadan istifadə edin: maksimum paralellik dərəcəsi = 0-dan N. b. Səkkizdən çox prosessordan istifadə edən serverlər üçün aşağıdakı konfiqurasiyadan istifadə edin: maksimum paralellik dərəcəsi = 8. c. NUMA konfiqurasiya edilmiş serverlər üçün maksimum paralellik dərəcəsi maksimum dəyəri 8 ilə məhdudlaşdırılmış hər NUMA node üçün təyin edilmiş CPU sayından çox olmamalıdır. NUMA Node və bahalı uzaq node məlumat axtarışlarından çəkinin. d. Hyper-threading aktivləşdirilmiş serverlər üçün maksimum paralellik dərəcəsi fiziki prosessorların sayından çox olmamalıdır.

Buradan belə nəticə çıxır ki, 8-dən çox prosessoru olan sistemlər üçün “maksimum paralellik dərəcəsi” = 8 təyin etmək tövsiyə olunur. Bunun ardınca başqa bir izahat verilir ki, 8 ümumi tövsiyədir. Və eyni vaxtda yerinə yetirilən sorğuların sayının az olduğu sistemlərdə daha böyük dəyər təyin etmək, çox sayda rəqabət aparan sorğuları olan sistemlərdə isə daha kiçik dəyər təyin etmək məna kəsb edir. Və müəyyən bir parametr seçərkən, onun sistemə təsirinə baxmaq və xüsusi sorğular üzərində sınaqdan keçirmək lazımdır.

BU MƏQDƏNİN ƏTRAFİ: SQL Server (2008-ci ildən)Azure SQL DatabaseAzure SQL Data WarehouseParallel Data Anbarı

Bu bölmə server konfiqurasiya parametrinin necə konfiqurasiya olunacağını təsvir edir maksimum paralellik dərəcəsi (MAXDOP) SQL Server Management Studio və ya Transact-SQL istifadə edərək SQL Server 2016-da. SQL Server nümunəsi çoxprosessorlu kompüterdə işləyərkən, o, paralel icra planlarının hər biri üçün optimal paralellik dərəcəsini, yəni tək bəyanatı yerinə yetirmək üçün istifadə olunan prosessorların sayını müəyyən edir. Paralel icra planında prosessorların sayını məhdudlaşdırmaq üçün parametrdən istifadə etmək olar maksimum paralellik dərəcəsi. SQL Server sorğular üçün paralel icra planlarını, indekslər üzrə DDL əməliyyatlarını, paralel daxiletmələri, onlayn sütun modifikasiyalarını, paralel statistika toplusunu və statik və açar dəstlə idarə olunan kursorların populyasiyasını nəzərdən keçirir.

Məhdudiyyətlər

  • Əgər yaxınlıq maskası parametri defoltdan başqa bir dəyərə qoyulubsa, o, simmetrik çoxprosessorlu (SMP) sistemlərdə SQL Server üçün mövcud olan prosessorların sayını məhdudlaşdıra bilər.

    Bu parametr isteğe bağlıdır və yalnız təcrübəli verilənlər bazası administratorları və ya sertifikatlı SQL Server texnikləri tərəfindən dəyişdirilməlidir.

    Serverə maksimum paralellik dərəcəsini təyin etmək üçün bu parametri standart dəyər olan 0-a təyin edin. Maksimum paralellik dərəcəsinin 0-a təyin edilməsi SQL Serverə bütün mövcud prosessorlardan (64 prosessora qədər) istifadə etməyə imkan verir. Paralel planların yaradılmasını söndürmək üçün parametri təyin edin maksimum paralellik dərəcəsi dəyər 1. Tək sorğunu yerinə yetirmək üçün istifadə edilə bilən prosessor nüvələrinin maksimum sayını təyin etmək üçün parametri 1 və 32,767 arasında bir dəyərə təyin edin. Mövcud prosessorların sayından daha çox dəyər müəyyən edilərsə, mövcud prosessorların faktiki sayı istifadə olunur. Kompüterdə yalnız bir prosessor varsa, o zaman parametr dəyəri maksimum paralellik dərəcəsi nəzərə alınmayacaq.

    Paralelliyin maksimum dərəcəsi parametrinin dəyəri bəyanatda MAXDOP sorğusu göstərilməklə ləğv edilə bilər. Ətraflı məlumat üçün bax.

    İndekslərin yaradılması və yenidən qurulması əməliyyatları, eləcə də klasterli indeksin silinməsi kifayət qədər resurs tələb edə bilər. İndeks əməliyyatları üçün maksimum paralellik dərəcəsi parametrinin dəyəri bəyanatda MAXDOP indeks parametrini göstərməklə ləğv edilə bilər. MAXDOP dəyəri icra zamanı bəyanata tətbiq edilir və indeks metadatasında saxlanmır. Əlavə məlumat üçün məqaləyə baxın.

    Sorğu və indeks əməliyyatlarına əlavə olaraq, bu parametr DBCC CHECKTABLE, DBCC CHECKDB və DBCC CHECKFILEGROUP ifadələrini yerinə yetirərkən paralellik dərəcəsinə də nəzarət edir. Bu təlimatlar üçün paralellik planları 2528 iz bayrağından istifadə edərək deaktiv edilə bilər. Əlavə məlumat üçün baxın.

Təhlükəsizlik

İcazələr

Saxlanılan proseduru yerinə yetirmək üçün icazələr sp_konfiqurasiya parametrləri olmayan və ya yalnız birinci parametrlə bütün istifadəçilərə standart olaraq verilir. Proseduru yerinə yetirmək üçün sp_konfiqurasiya hər iki seçimlə konfiqurasiya parametrini dəyişdirmək və ya YENİDƏN KONFIGURE bəyanatını işə salmaq üçün server səviyyəsində DƏYİŞTİRİLƏN SETTINGS icazəniz olmalıdır. ALTER SETTINGS icazəsi sabit server rollarına dolayı verilir sistem meneceriserver admin .

    IN Obyekt Explorer serverə sağ vurun və seçin Xüsusiyyətlər.

    Bir node klikləyin əlavə olaraq .

    Sahədə Maksimum paralellik dərəcəsi Paralel icra planında istifadə edilə bilən prosessorların maksimum sayını göstərin.

Paralelliyin Maksimum Dərəcəsi parametrinin konfiqurasiyası

    Database Engine ilə əlaqə qurun.

    Standart paneldə vurun Sorğu yaradın.

    Aşağıdakı nümunəni sorğu pəncərəsinə köçürün və düyməni basın İcra etmək. Bu nümunə paralellik parametrinin maksimum dərəcəsini 8-ə təyin etmək üçün prosedurdan necə istifadə olunacağını təsvir edir.

AdventureWorks2012-dən istifadə edin; GO EXEC sp_configure "qabaqcıl seçimləri göstər" , 1 ; YENİDEN KONFIQURUYA KEÇİN; GO EXEC sp_configure "maksimum paralellik dərəcəsi" , 8 ; YENİDEN KONFIQURUYA KEÇİN; GO

Əlavə məlumat üçün məqaləyə baxın

Bu yazı yalnız MS SQL Serverə yönəldiləcək. Oracle, DB2, Postrgre ilə 1C-dən istifadə etməkdə "şanınızı sınamağı" planlaşdırırsınızsa, bu məlumat sizin üçün faydasız olacaq. Ancaq başa düşməlisiniz ki, 1C-də, ilk növbədə, MS SQL serverində mütəxəssislər var. IBM-in səyləri sayəsində DB2 mütəxəssisləri də peyda olur. Bu DBMS-nin yaxşı və ya pis olması barədə uzun müddət mübahisə edə bilərsiniz, bir şey vacibdir, 1C MS SQL serveri ilə ən "rəvan" işləyir. "Cəbhədən" gələn son hesabatlara əsasən, DB2 ilə işləmək daha az və ya çox layiqli hala gəldi. Şəxsən mənim 8.1 versiyasında DB2 ilə işləmək üçün 1C-nin qurulması təcrübəm olsa da, hər şey elə də yaxşı deyildi. İstənilən halda, başqa DBMS-nin seçimi aydın şəkildə əsaslandırılmalıdır - ya MS SQL-də mövcud olmayan imkanlar (yük balanslaşdırması olan klaster, Grid və s.), ya da maliyyə (Oracle artıq alınıb) və ya platforma (hər şey Linux-dadır).

Beləliklə, MS SQL Server ilə nə etmək lazımdır:

1) Minimum və maksimum yaddaş ölçüsünü təyin edin. Minimum sistem yaddaşının yarısıdır. Maksimum - 2 GB olmayan sistem yaddaşı. Bu, Management Studio vasitəsilə həyata keçirilir - server xüsusiyyətlərində:

2) “Prosessorlar” sekmesinde prioritet təyin olunmayıbsa, siz təyin etməlisiniz

3) Paralelliyin maksimum dərəcəsini 1-ə təyin edin.

4) SQL Server Agentini yandırın, Database Mail-i konfiqurasiya edin - orada çətin bir şey yoxdur, mən onu ətraflı təsvir etməyəcəyəm.

5) Xidmət planlarının qurulması:
Ümumi:
a) Statistika yenilənir - hər 2 saatdan bir
b) DBCC FREEPROCCACHE - hər 2 saatdan bir
Hər bir baza üçün:
a) Tam ehtiyat nüsxəsi
b) Diferensial ehtiyat
c) İndekslərin defragmentasiyası - hər gün
d) İndekslərin yenidən qurulması - həftə sonları gecə
e) Bazanın bütövlüyünün yoxlanılması - ayda bir dəfə, həftə sonları gecə

6) Hər bir verilənlər bazası üçün (xüsusiyyətlərdə) bərpa modelini Sadə olaraq təyin etməyi tövsiyə edirəm. 24/7 sisteminiz yoxdursa və hər bir bazada 1000-dən az istifadəçi yoxdursa, əvəzetmə klasteri yoxdur və siz məlumatı bir saniyəyə qədər dəqiqliklə bərpa etməyi öhdəsinə götürdüyünüz SLA imzalamamısınızsa (və bundan sonra deyil) hər hansı bir avadanlığın sıradan çıxması halında bu tövsiyə məqsədəuyğun olardı. Əks halda, siz çox keçmədən çoxalmış Tranzaction Log ilə nə edəcəyinizi uzun və çılğıncasına düşünəcəksiniz.

7) Tempdb verilənlər bazasını adi verilənlər bazalarından başqa diskə çıxarın - hətta bu, RAID massivini yenidən konfiqurasiya etmək və onun performansını azaltmaq deməkdir. Əks halda 1 istifadəçi hər kəsin işini iflic edə biləcək. Əgər sizdə sabit disk əvəzinə Hardware Accelereator varsa, əlbəttə ki, onu ayırıb tempdb qoya bilməzsiniz, lakin bu, yalnız biriniz varsa.

8) bir növ monitorinq aləti quraşdırın - məsələn, mən diqqət mərkəzini bəyənirəm http://www.quest.com/spotlight-on-sql-server-enterprise/

9) Microsoft-un ən yaxşı təcrübə analizatoru ilə özünüzü sınayın - http://www.microsoft.com/download/en/details.aspx?id=15289 - yalnız parametrlərlə deyil, həm də bir çox problemlərin həllində kömək edən gözəl alətdir. .

İndi, qısaca, bütün bunları niyə etdik:

1) Yaddaş. SQL serveri nədənsə ona məlum olan bütün yaddaşdan istifadə etmədikdə minimum dəyər sizi sadəcə olaraq “qüsurlardan” qoruyacaq. Hamısını yemək lazımdır! Eyni SQL server yaddaşdan istifadə optimallaşdırıcısı başqa heç nə edə bilməyəcəyinə qərar verərsə, maksimum dəyər sizi dəyişdirmədən qoruyacaq....

3) Çox vacib bir məqam - IHMO bütün əməliyyat sistemlərində 1-ə təyin edilməlidir. Birincisi, bu, 1 sorğunu yerinə yetirməyə çalışan müxtəlif proseslər arasında bəzi bloklamaların qarşısını alır və buna görə də bizi bəzi “qəribə” səhvlərdən qoruyur. İkincisi... 1 “killer” sorğusu bütün server resurslarını ələ keçirə bilər ki, bu da sistemin digər istifadəçilərinə münasibətdə bir qədər ədalətsizdir.

5) Statistikalar və prosedur önbelleğinin təmizlənməsi hamıya məlumdur, lakin biz tez-tez yenidən indeksləşdirməni unuduruq. Bu arada, bu prosedur kifayət qədər vacibdir, xüsusən də verilənlər bazasının həcmi artdıqca onun əhəmiyyəti artır. Bəzən indeksin parçalanması səbəbindən performansın 60%-ə qədəri itirilir.

7) Hardware Accelerator və ya fərqli giriş sürətinə malik sadəcə 2 diskiniz varsa, verilənlər bazalarında fayl qruplarının ayrılması və ayrı-ayrı cədvəllərin müxtəlif giriş vaxtları olan müxtəlif disk massivlərinə bölünməsi barədə düşünməyi də tövsiyə edərdim. Axı, etiraf etməlisiniz ki, RN "anbarlardakı mallar" və "Əlavə məlumatların saxlanması" kataloqu saxlama tələbləri kökündən fərqli olan 2 obyektdir. Verilənlər bazasında bütün faylları və şəkilləri sürətli bir massivdə saxlamaq lazım deyil - onu ayrıca bir birinə ayıra bilərsiniz, bu o qədər də sürətli deyil, lakin çox yer olan yerdə (və sonra sizdə yoxdur). Yeri gəlmişkən, verilənlər bazasına bir dəstə fayl yükləməkdən qorxmaq).



Əlaqədar nəşrlər