M?i concurrency và l?p l?ch tr?nh ch?n đoán đ? đư?c thêm vào máy ch? SQL

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 319892 - Xem s?n ph?m mà bài này áp d?ng vào.
L?I #: 102179 (SQLBUG_70)
L?I #: 356317 (SQLBUG_80)
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

V?n c?n r?t năng đ?ng, SQL Server ch?a m?t vài N?i quy tr?nh đ? đ?m b?o s? ?n đ?nh. M?t ví d? là các khóa giám sát mà b?n có th? s? d?ng đ? xác đ?nh và gi?i quy?t t?nh hu?ng b? t?c.

Máy chủ SQL 7,0 Service Pack 4 (SP4) và SQL Server 2000 Service Pack 3 (SP3) đ? thêm quá tr?nh nâng cao s?c kh?e giám sát. Tăng cư?ng giám sát s?c kh?e đ? di?n di?n ra trong các l?nh v?c sau:
  • Ch?n
  • V?n đ? v? m?ng
  • Input/Output (IO)
  • Bộ nhớ
  • CPU
Khi máy ch? SQL phát hi?n v?n đ? s?c kh?e, m?t lo?t các m?i thông báo l?i, ch?ng h?n như các là sau đây, đăng nh?p Nh?t k? l?i SQL Server. Đ? bi?t chi ti?t v? nh?ng đi?u ki?n thông báo l?i, xem các "More Information" ph?n c?a bài vi?t này.

SQL Server 7.0

L?i 1223: Quá tr?nh ID % d: % d không th? có đư?c khóa "% s" trên tài nguyên %s v? m?t b? t?c ti?m năng t?n t?i trên Scheduler %d Đ?i v?i tài nguyên. Quá tr?nh ID % d: % d gi? m?t khóa "% h" vào tài nguyên này.

SQL Server 2000

L?i 1229: Quá tr?nh ID % d: % d s? h?u ngu?n tài nguyên mà đang ch?n quá tr?nh trên tr?nh l?p l?ch bi?u % d.
Các thông báo l?i m?i bao g?m các d?ng sau đây.

M? r?ng Lock phát hi?n: 1223, 1229
L?p l?ch bi?u tác Hưng phát hi?n: 17881, 17883
T?t c? các Schedulers Hưng Phát hi?n: 17882, 17884
C?nh báo Lưu ? r?ng m?t v?n đ? s?c kh?e liên quan thư?ng là k?t qu? c?a m?t đi?u ki?n đ? có kinh nghi?m trư?c đó. B?n ph?i nghiên c?u l?i SQL Server đăng nh?p và b?n ghi s? ki?n h? th?ng m?t cách c?n th?n đ? xác đ?nh nguyên nhân g?c r? th?c t?.

Ví d?, m?t thông báo l?i 17883 có th? cho th?y m?t v?n đ? l?p l?ch. Tuy nhiên, Nh?t k? l?i có th? hi?n th? m?t ngo?i l? trư?c không chính xác đ? l?i các Quá tr?nh SQL Server trong m?t nhà nư?c nghèo, ho?c các ?ng d?ng có th? gây ra m?t đi?u ki?n ch?n nghiêm tr?ng.
Chú ý Microsoft c? g?ng gi? t?t c? các n?i dung thông tin m?i nh?t v?i các m?i nh?t đi?u ki?n 17883. Tuy nhiên, thông đi?p 17883 l?i là m?t phát hi?n s?c kh?e tin nh?n có th? đư?c kích ho?t cho nhi?u l? do. Microsoft đ? không ch? S?a ch?a các v?n đ? đư?c bi?t đ?n v?i các s?n ph?m ph?n m?m SQL Server, nhưng c?ng có g?p l?i 17883 trong m?t lo?t các t?nh hu?ng này không liên quan đ?n ph?n m?m máy ch? SQL. Ví d?, l?i đ? x?y ra v?i bên ngoài ?ng d?ng CPU tiêu th? và ph?n c?ng l?i. B?n ph?i xác đ?nh thư m?c g?c nguyên nhân gây ra các thông báo l?i 17883 n?u b?n mu?n tránh m?t reoccurrence không mong mu?n l?i.

THÔNG TIN THÊM

Ph?n này v?ch ra các c?i ti?n s?c kh?e và liên k?t thông báo l?i có th? đư?c đăng vào Nh?t k? l?i SQL Server.

UMS

T?t hơn đ? hi?u m?t s? b? sung s?c kh?e ch?n đoán, trư?c tiên b?n ph?i hi?u cách SQL Server s? d?ng m?t ch? đ? s? d?ng L?p k? ho?ch (UMS) Ums.dll t?p tin tr? giúp.

C? hai SQL Server 7.0 và Microsoft SQL Server 2000 s? d?ng h?p l? schedulers. Các schedulers giúp cho ch?c ch?n r?ng máy ch? SQL t?i đa hóa vi?c s? d?ng tài nguyên h? đi?u hành liên quan đ?n đư?ng d?n hành đ?ng cơ s? d? li?u quan tr?ng. L?p UMS đ?m r?ng máy ch? SQL m?t cách chính xác l?p k? ho?ch s? ki?n s? d?ng Win32 nghiêm ch?nh ki?m soát s?i và ch?t xơ (ho?c c? hai) t?m nh?n h? đi?u hành. B?ng cách ki?m soát nghiêm ng?t các ch? đ? ho?c s?i có th? ch?y, SQL Server có th? t?i đa hóa vi?c s? d?ng CPU v? nó liên quan đ?n cơ s? d? li?u nguyên th?y như khóa.

Ví d?, l? l?ch gi?y phép khóa b?i bàn đ? ng? (WaitForSingleObject trên m?t s? ki?n Win32) cho đ?n khi các khóa ch? s? h?u b?n phát hành lock và tín hi?u (SetEvent) h? th?c d?y.

Phát hi?n dài khóa

Màn h?nh khóa đ? đư?c m? r?ng đ? phát hi?n m?t (công nhân Thread) ngu?n c?p ch?n k?ch b?n. N?u m?t d?ch v? SPID s? h?u m?t khóa hi?n đang x?p hàng đ?i đ? l?p l?ch, v? ch? đ? đư?c phân công công nhân có t?o ra và ch? đ? đư?c phân công công nhân trong m?t ch? đ?i un-resolvable nhà nư?c, thông báo l?i sau đư?c ghi vào Nh?t k? l?i SQL Server:

SQL Server 7.0

L?i 1223: Quá tr?nh ID % d: % d không th? có đư?c khóa "% s" trên tài nguyên %s v? m?t b? t?c ti?m năng t?n t?i trên L?p l?ch bi?u tác %d cho tài nguyên. Quá tr?nh ID % d: % d gi? m?t khóa "% h" v? đi?u này tài nguyên.
Tham s? mô t?:
  1. Ch? đ?i d?ch v? SPID
  2. Ch? đ?i ECID (Sub quá tr?nh th?c hi?n Id)
  3. Khóa ch? đ? tên
  4. Ngu?n tài nguyên tên
  5. H?p l? UMS Scheduler Id
  6. S? h?u d?ch v? SPID
  7. S? h?u ECID
  8. S? h?u ngu?n tài nguyên tên

SQL Server 2000

L?i 1229: Quá tr?nh ID % d: % d s? h?u ngu?n tài nguyên đang ch?n quá tr?nh trên tr?nh l?p l?ch bi?u % d.
Tham s? mô t?:
  1. S? h?u d?ch v? SPID
  2. S? h?u ECID (Sub quá tr?nh th?c hi?n Id)
  3. S? h?u h?p l? UMS Scheduler Id

Theo d?i c?

SQL Server ch?a m?t lá c? water đ? vô hi?u hóa này s?c kh?e báo cáo.

Đ? vô hi?u hoá hành vi báo cáo, s? d?ng m?t trong nh?ng phương pháp sau đây:
  • Thi?t l?p m?t (tham s?) kh?i đ?ng-T###)
  • S? d?ng (traceon) DBCC###)
SQL Server 7.0:-T1216

SQL Server 2000:-T1261

Chú ý Đi?u này không ph?i là m?t l?i đánh. -T1216 trên SQL Server 2000 là đ? đư?c s? d?ng như c? water g?n li?n v?i s?n lư?ng b? t?c. V? v?y, 1261 đư?c s? d?ng đ? thay th?.

K?ch b?n m?u

Khách hàng 1 k?t n?i đ?n máy ch? SQL.

Khách hàng 1 ch?y m?t l?nh Transact SQL mà b?t đ?u m?t giao d?ch và th?c hi?n d? li?u S?a đ?i.

Ví dụ:
begin tran
update authors set au_lname = 'test'
Khách hàng 1 tr? thành IDLE, cho th?y lên như ng? và đang ch? m?t l?nh v?i m?t giao d?ch m? trong các sysprocesses h? th?ng b?ng.

Khách hàng 2 thông qua 255: x?p x? 254 Thêm khách hàng đăng nh?p vào máy ch? SQL và các v?n đ? m?t l?a ch?n t? các tác gi? b?ng. Các khách hàng s? t?t c? tr? thành b? ch?n trên C?p Nh?t ban đ?u.

Khách hàng 1 c? g?ng đ? cam k?t giao d?ch, nhưng nó s? tr? thành đ? x?p hàng v? t?t c? các công nhân ch? đ? đư?c g?n b?i khách hàng 2 thông qua 255.

Ch?n

Thông báo l?i này thư?ng ch? ra m?t m? r?ng ch?n t?nh h?nh. M?i th?i gian khóa màn h?nh ch?y (kho?ng m?i 5 giây), tin nh?n có th? đư?c thêm vào Nh?t k? l?i SQL Server.

Chú ý M?t thông đi?p đư?c đăng nh?p cho m?i d?ch v? SPID/ECID đang tr?i qua nh?ng v?n đ? tài nguyên. V? v?y, nhi?u thư có th? đư?c đăng nh?p trong th?i gian như v?y khóa màn h?nh l?p.

SQL Server không t? đ?ng gi?i quy?t t?nh tr?ng này. Tuy nhiên, nó s? cho bi?t v?n đ? là m?t thông báo l?i (1223 ho?c 1229) cho phù h?p. Khi v?n đ? này x?y ra, b?n có th? gi?i quy?t nó trong m?t s? cách.

Th?i gian ch? Lock ho?c truy v?n

N?u các truy v?n s? d?ng m?t khóa ho?c m?t th?i gian ch? truy v?n, t?nh h?nh gi?i s? thư?ng quy?t riêng c?a m?nh như các timeout x?y ra. Tuy nhiên, t?nh h?nh đ?m b?o đi?u tra v? nó ch? ra m?t ?ng d?ng gây ra gi?m trong concurrency.

Giao d?ch-SQL KILL

N?u các qu?n tr? viên có th? truy v?n các sysprocesses h? th?ng b?ng, h? có th? s? d?ng các l?nh Transact SQL gi?t đ? ch?m d?t d?ch v? SPID CH?N và ch?m d?t SPID CH?N thích h?p đ? mi?n phí ch? đ? c?a công nhân và tr? v? h? th?ng m?t tr?ng thái b?nh thư?ng.
251004 Làm th? nào đ? qu?n l? SQL Server 7.0 ch?n
271509 Làm th? nào đ? qu?n l? SQL Server 2000 ch?n
263889 SQL ? khóa ch?n nh? [[biên d?ch]]

H? tr? giúp đ?

N?u b?n không th? có đư?c các sysprocesses h? th?ng b?ng thông tin, sau đó nh?n đư?c m?t b?i ch?a quá tr?nh c?a các Quá tr?nh (Sqlservr.exe) và liên h? v?i Microsoft SQL Server h? tr? b? sung cu?c đi?u tra.

Song song truy v?n

Trong nh?ng trư?ng h?p hi?m, thông báo l?i này có th? x?y ra b?i v? m?t l?a ch?n k? ho?ch nghèo truy v?n song song. N?u truy v?n song song b?u đ? s? d?ng m?t đáng k? s? lư?ng có s?n công nhân SQL Server đ? hoàn thành các truy v?n, nó có th? th?i h? bơi công nhân SQL Server. Các sysprocesses h? th?ng b?ng có ch?a m?t c?t ECID đ? ch? s? ngư?i lao đ?ng đang đư?c s? d?ng trên danh ngh?a c?a d?ch v? SPID cá nhân. N?u giá tr? ECID là cao trong m?i quan h? v?i v?t l? CPU trên máy tính, đó là nói chung m?t d?u hi?u c?a m?t ho?t đ?ng kém đi?u ch?nh truy v?n. Xem xét l?i k? ho?ch truy v?n và các t?i đa m?c đ? song song Thi?t l?p option truy v?n (MAXDOP) đ? đúng đi?u ch?nh các truy v?n trong câu h?i.

V?n đ? schedulers

S? lư?ng h?p l? schedulers v?n đ?. Khi máy ch? SQL b?t đ?u, các nhân viên đa thread thi?t l?p đư?c chia b?ng nhau gi?a schedulers h?p l?. Như các s? c?a CPU cho SQL Server tăng hàng đ?i công nhân chia nhi?u hơn n?a. M?t ?ng d?ng cho cu?c tri?n l?m ph?m vi giao d?ch không mong mu?n ho?t đ?ng có th? hi?n k?ch b?n t?nh tr?ng thi?u ngu?n l?c nhanh hơn khi nhi?u CPU tham gia. Đ?i v?i lo?i k?ch b?n, ph?m vi giao d?ch ?ng d?ng là ngay l?p t?c s?a ch?a.

B?ng dư?i đây cho th?y các h? bơi ngư?i lao đ?ng bài t?p d?a trên s? CPU n?u các sp_configure thi?t l?p th? t?c đư?c lưu tr? cho t?i đa ch? đ? c?a công nhân là tương đương v?i 255.
Thu g?n b?ng nàyBung r?ng b?ng này
CPU ch?nChi?u dài chu?i
1255
2128
464
832
1616
Chúng tôi đ? ngh? r?ng b?n ghi các nhân viên đa thread thi?t l?p m?c đ?nh c?a 255. Đ? bi?t thêm thông tin, h?y b?m vào s? bài vi?t sau đ? xem bài vi?t trong Cơ s? Ki?n th?c Microsoft:
319942Làm th? nào đ? xác đ?nh đúng SQL Server cài đ?t c?u h?nh

UMS s?c kh?e

M?t thói quen n?i b? m?i đ? đư?c thêm vào ki?m tra s?c kh?e c?a B? l?p l?ch h?p l? m?i 60 giây. N?u vi?c l?p l?ch bi?u tác đư?c coi là như ng?ng l?i, ho?c nó đ? ng?ng đáp ?ng, các thông báo l?i thích h?p đư?c đăng nh?p vào các SQL Server l?i đăng nh?p. M?t l?i đư?c đăng nh?p m?i 60 giây cho đ?n khi v?n đ? này gi?i quy?t.

Như đ? đ? c?p trư?c đó, các thông đi?p này r?t thư?ng m?t d?u hi?u c?a m?t s? ki?n trư?c đó. C?n th?n xem Nh?t k? l?i SQL Server và b?n ghi s? ki?n ?ng d?ng đ? giúp b?n xác đ?nh nguyên nhân g?c c?a các v?n đ?.

Chú ý M?t b?n ch?p đư?c l?y m?i 60 giây. V? v?y, nó có th? là 120 giây trư?c khi đi?u ki?n đ?u tiên đư?c phát hi?n.

SQL Server 7.0

L?i: 17881 - Scheduler %1! ld! xu?t hi?n đ? đư?c treo. PSS 0 x % 2! p!, EC 0 x % 3! p!, UMS b?i c?nh 0 x % 4! p!
L?i: 17882 - ti?m năng deadlocks t?n t?i trên t?t c? các schedulers

Theo d?i c?

B?n có th? vô hi?u hóa các ki?m tra hai n?u b?n b?t đ?u máy ch? SQL 7.0 v?i các -T1217 tham s? kh?i đ?ng.

SQL Server 2000 SP3

8.00.760 (SP3)
L?i: 17883- Scheduler %1! ld! xu?t hi?n đ? đư?c treo. D?ch v? SPID %2! ld!, ECID % 3! LD!, UMS Context 0 x % 4! p!

8.00.765

B?t đ?u v?i 8.00.765 nóng s?a ch?a, thư đ? đư?c thay đ?i đ? thêm mô t?.
L?i: 17883 - x? l? %1! ld!: % 2! ld! (%3! lx!) UMS Context 0 x % 4! p! dư?ng như là không năng su?t trên Scheduler phi?u! ld!

Ví d?:
2003-03-21 08:22:20.27 server Error: 17883, m?c đ? nghiêm tr?ng: 1, Nhà nư?c: 0
2003-03-21 08:22:20.27 máy ch? quá tr?nh 51:0 (dbc) UMS Context 0x018DA930 dư?ng như là không năng su?t trên Scheduler 0.
2003-03-21 08:22:22.45 server ngăn x?p ch? k? cho các b?i ch?a là 0x00000000
L?i: 17884 - ti?m năng deadlocks t?n t?i trên t?t c? các schedulers

Theo d?i c?

B?n có th? t?t các hai s? ki?m tra n?u b?n b?t đ?u máy ch? SQL v?i-tham s? kh?i đ?ng T1260.

SQL Server 2000 k?t xu?t nh? c?a t?p

B?t đ?u v?i SQL Server 2000 SP3, kh? năng n?m b?t m?t Ti?n tr?nh k?t xu?t nh? c?a đ? đư?c th?c hi?n. B?t đ?u v?i xây d?ng 8.00.765, m?t t?p k?t xu?t nh? c?a đư?c t?o ra khi SQL Server đ?u tiên phát hi?n m?t tr?nh lên l?ch b? đ?nh tr?.

Đ? ngăn ch?n vi?c th? h? các t?p k?t xu?t nh? c?a cho các thông báo l?i (17883 and17884), hành vi m?c đ?nh là đ? s?n xu?t m?t t?p k?t xu?t nh? c?a duy nh?t cho cu?c s?ng quá tr?nh SQL Server. Đ? kích ho?t t?p k?t xu?t nh? c?a m?i s? xu?t hi?n c?a các thư, b?t water c? - T1262.

T?p k?t xu?t nh? c?a đư?c t?o ra trong đăng nh?p thư m?c và là SQLDmpr ### .mdmp. T?p k?t xu?t nh? c?a này có th? đư?c đánh giá b?i h? tr? c?a Microsoft đ? giúp xác đ?nh nguyên nhân g?c c?a v?n đ?.

L?i 17881 và l?i 17883

Các thông đi?p này ch? ra m?t tr?nh lên l?ch UMS đơn có kinh nghi?m m?t v?n đ? năng su?t. Giám sát s?c kh?e đ? phát hi?n ra nh?ng g? có v? là m?t tr?nh lên l?ch v?i m?t s?i công nhân mà không cho phép ngư?i lao đ?ng khác đ? ti?n b?, và b? l?p l?ch đang đư?c g?n c? là không đáp ?ng. M?t tr?nh lên l?ch mà đ? ng?ng đáp ?ng nói chung là m?t l?i v?i s?n ph?m SQL Server hay m?t thành ph?n bên ngoài (XProc, đ?i tư?ng COM, vv).

Sau đây là nh?ng ví d? đư?c bi?t đ?n đi?u ki?n 17833. H?y ch?c ch?n r?ng b?n t?m ki?m c?a Microsoft Ki?n th?c cơ s? cho bài vi?t liên quan. N?u h? th?ng c?a b?n yêu c?u m?t mi?ng vá C?p Nh?t, áp d?ng cho phù h?p.
815056 Kh?c ph?c: Quá tr?nh tr?m ki?m soát có th? tr? ho?n ho?t đ?ng cơ s? d? li?u SQL Server và không mang l?i Scheduler đúng gây ra l?i: 17883 x?y ra
810885 Cao c?p đ?a h? th?ng con có th? g?p l?i 17883
N?u b?n không th? xác đ?nh nguyên nhân g?c ngay l?p t?c, tham kh?o ? ki?n Nh?t k? l?i cho các v?n đ? và tham gia vào m? r?ng h? tr? nh?ng n? l?c.

Khi m?t tr?nh lên l?ch không đáp ?ng đúng, nó có th? làm gi?m t?ng th? concurrency cho SQL Server. SQL Server có th? c?ng xu?t hi?n đ? đư?c ng?ng l?i ho?c nó có th? ng?ng đáp ?ng.

L?i 17882 và 17884

Các thông đi?p này ch? ra r?ng t?t c? các schedulers UMS có có kinh nghi?m v?n đ? v? năng su?t. Đi?u này cho th?y m?t h? th?ng SQL Server v?n đ? r?ng và SQL Server s? xu?t hi?n đ? có ng?ng đáp ?ng. C?ng như v?i các 17881 và 17883 tin nh?n, xem Nh?t k? l?i và Microsoft Knowledge Base đ? bi?t thêm thông tin. N?u c?n thi?t, tham gia vào các n? l?c m? r?ng h? tr?.

Thu?c tính

ID c?a bài: 319892 - L?n xem xét sau cùng: 27 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft SQL Server 2000 Service Pack 3
T? khóa: 
kbsample kberrmsg kbbug kbfix kbinfo kbmt KB319892 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:319892

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com