Სარჩევი:

როგორ შევაჩეროთ ჩიხი SQL Server-ში?
როგორ შევაჩეროთ ჩიხი SQL Server-ში?

ვიდეო: როგორ შევაჩეროთ ჩიხი SQL Server-ში?

ვიდეო: როგორ შევაჩეროთ ჩიხი SQL Server-ში?
ვიდეო: SQL Server deadlock analysis and prevention 2024, ნოემბერი
Anonim

რჩევები თავიდან აცილების შესახებ ჩიხები

Კეთება არ დაუშვას მომხმარებლის შეყვანა ტრანზაქციების დროს. მოერიდეთ კურსორები. შეინახეთ რაც შეიძლება მოკლე ტრანზაქციები. შეამცირეთ ორმხრივი მგზავრობის რაოდენობა თქვენს განაცხადსა და SQL სერვერი შენახული პროცედურების გამოყენებით ან ტრანზაქციების ერთ პარტიაში შენახვით

ასევე კითხვაა, როგორ შევამციროთ ჩიხი SQL Server-ში?

ობიექტებზე წვდომა იმავე თანმიმდევრობით

  1. ობიექტებზე წვდომა იმავე თანმიმდევრობით.
  2. მოერიდეთ მომხმარებლის ინტერაქციას ტრანზაქციებში.
  3. შეინახეთ ტრანზაქციები მოკლედ და ერთ პარტიაში.
  4. გამოიყენეთ იზოლაციის დაბალი დონე.
  5. გამოიყენეთ მწკრივის ვერსიების დაფუძნებული იზოლაციის დონე.

გარდა ამისა, რა იწვევს ჩიხს SQL Server-ში? The მიზეზი ყოველი ჩიხი SQL სერვერში ა ჩიხი ხდება მაშინ, როდესაც ორი (ან მეტი) ტრანზაქცია ბლოკავს ერთმანეთს იმ რესურსების ჩაკეტვით, რომლებიც ასევე სჭირდება თითოეულ ტრანზაქციას. მაგალითად: ტრანზაქცია 1 ინახავს საკეტს A ცხრილში. ჩიხები შეიძლება მოიცავდეს ორზე მეტ ტრანზაქციას, მაგრამ ორი ყველაზე გავრცელებული სცენარია.

მაშინ, როგორ შეიძლება ჩიხების გადაჭრა?

The ჩიხი შეიძლება იყოს გადაწყდა სიმეტრიის დარღვევით.

ორი პროცესი, რომლებიც ეჯიბრებიან ორ რესურსს საპირისპირო თანმიმდევრობით.

  1. ერთი პროცესი გადის.
  2. შემდგომ პროცესს უნდა დაველოდოთ.
  3. ჩიხი ჩნდება, როდესაც პირველი პროცესი ბლოკავს პირველ რესურსს იმავდროულად, როდესაც მეორე პროცესი ბლოკავს მეორე რესურსს.

როგორ აანალიზებთ ჩიხს SQL Server-ში?

Კვალდაკვალ გაყოლა ჩიხი მოვლენები, დაამატეთ ჩიხი ღონისძიების კლასის გრაფიკის გადატანა კვალზე. მოვლენის ეს კლასი ავსებს TextData მონაცემთა სვეტს კვალში XML მონაცემებით პროცესისა და ობიექტების შესახებ, რომლებიც ჩართულია ჩიხი . SQL სერვერი პროფილერს შეუძლია XML დოკუმენტის ამონაწერი ა ჩიხი XML (.

გირჩევთ: