Exchange Spill olay sınıfı

Exchange Spill olay sınıfı gösterir bir paralel sorgu planı içindeki iletişimi arabellekler geçici olarak için yazılmış tempdb veritabanı. Bu nadiren ve sorgu planı birden çok Aralık taramalar olduğunda oluşur.

Normalde, Transact-SQLgibi çeşitli taramalar üreten sorgu vardır birçok operatörleri, her biri seçer satır aralığını bir tablo veya dizin arasındaki. Alternatif olarak, birden çok aralığı gibi ifadeler kullanarak edinebilirsiniz (T.a > 10 ve T.a < 20) veya (T.a > 100 ve T.a < 120). Ayrıca, sorgu planları T.a üzerinde bir order by yan tümcesi olduğundan veya bir yineleyici planı içinde o sıralanmış düzende dizilerini tüketmek gerektirdiğinden bu aralıklar sırada taranmasını gerektiren gerekir.

Böyle bir sorgu için sorgu planı birden fazla olduğunda paralellik operatörleri tarafından kullanılan bellek iletişimi arabellekler paralellik operatörleri olmak tam ve sorgu yürütme ilerleme durur sayede bir durum ortaya çıkabilir. Bu durumda, bir paralellik işleçleri kendi çıktı tamponuna yazar tempdb (bir işlem olarak adlandırılan bir Döviz spill) böylece bazı onun giriş arabellekleri satırları tüketebilir. Sonunda, tüketici bunları tüketmek hazır olduğunda dökülen satırları tüketiciye iade edilir.

Çok nadiren, çoklu Döviz sızıntıları sorgu yavaş çalışmasına neden aynı yürütme planı içinde oluşabilir. Beşten fazla dökülme içinde aynı sorgu planın yürütülmesine fark, destek uzmanına başvurun.

Exchange sızıntıları, bazen geçici ve veri dağıtım değişiklikleri kaybolabilir.

Exchange spill olayları önlemek için çeşitli yolları vardır:

  • order by ihmal sonucu gerekmiyorsa yan tümcesi sipariş ayarlayın.

  • order by gerekirse, order by yan tümcesi birden çok Aralık taramaları (T.a yukarıdaki örnekte) sütunun ortadan kaldırmak.

  • Dizin ipucu kullanarak, söz konusu tablo farklı bir erişim yolu kullanmak için iyileştirici gücü.

  • Sorguyu farklı sorgu yürütme planı üretmek için yeniden yazın.

  • maxdop ekleyerek sorguyu seri yürütme gücü = 1 seçenek dizin veya sorgu işlemi sonunda. Daha fazla bilgi için ALTER INDEX (Transact-SQL)ve Parallel ındex işlemi yapılandırma.

Önemli notÖnemli

Yeri belirlemek için Exchange Spill olay oluştuğunu sorgu iyileştirici yürütme planı oluşturduğunda, ayrıca bir Showplan olay sınıfı izleme toplamanız gerekir. Showplan olay sınıfları birini seçebilirsiniz Showplan metin ve Showplan metin (Unencoded) bir düğüm kimliği dönmek mi olay sınıfları Düğüm kimliği Showplans içinde sorgu en iyi duruma getiricisi sorgu yürütme planı oluşturduğunda gerçekleştirdiği her işlemi tanımlayın. Bu işlemler işleçler denir ve bir düğüm kimliği her bir Showplan işleç vardır ObjectID sütun için Exchange Spill olaylara karşılık Showplans düğüm kimliği böylece hangi operatör veya işlem hatası neden olduğunu belirleyebilir. Showplan olay sınıfları hakkında daha fazla bilgi için bkz.Displaying Execution Plans by Using SQL Server Profiler Event Classes

Exchange Spill olay sınıfı veri sütunları

Veri sütunu adı

Veri türü

Açıklama

Sütun Kımlığı

Filtrelenebilen

ApplicationName

nvarchar

Örneğine bağlantı oluşturulan istemci uygulamanın adını SQL Server. Bu sütun, programı görüntülenen adı yerine uygulama tarafından geçirilen değerleri ile doldurulur.

10

Evet

ClientProcessID

int

İstemci uygulamasının çalıştığı işlemin ana bilgisayar tarafından atanan Kımlığı. İstemci istemci sağlıyorsa bu veri sütunu doldurulur süreç kimliği.

9

Evet

DatabaseID

int

KULLANILARAK belirtilen veritabanı Kımlığı databasedeyimi veya varsayılan veritabanını kullanmak durumunda databasedeyimi için belirli bir örneği verilen. SQL Server Profilerveritabanı adını görüntüler SunucuAdı veri sütunu yakalanan izleme ve sunucu kullanılabilir. DB_ID işlevini kullanarak bir veritabanı değerini belirleyin.

3

Evet

Veritabanı adı

nvarchar

Kullanıcı deyimi çalıştıran veritabanının adı.

35

Evet

EventClass

int

Olay türü = 127.

27

Hayır

EventSequence

int

Istek içinde belirli bir olay sırası.

51

Hayır

EventSubClass

int

Olay alt sınıf türü.

1 = Spill başlar

2 = Spill sonu

21

Evet

Grup kimliği

int

Burada sql izleme olay yangınlar iş yükünü Grup Kımlığı.

66

Evet

HostName

nvarchar

İstemci üzerinde çalıştığı bilgisayarın adı. İstemci ana bilgisayar adı sağlıyorsa bu veri sütunu doldurulur. Ana bilgisayar adını belirlemek için host_name işlevini kullanın.

8

Evet

IsSystem

int

Olay sistem işlemi veya kullanıcı işlemi oluştu gösterir. 1 = sistem, 0 = kullanıcı.

60

Evet

LoginName

nvarchar

Kullanıcı oturum açma adı (ya da SQL Servergüvenlik oturumu veya Windows oturum açma kimlik bilgileri formu <DOMAIN>\<username>).

11

Evet

LoginSid

görüntü

Oturum açmış kullanıcının güvenlik kimlik numarası (SID). Sen-ebilmek bulmak için bu bilgiyi syslogins tablo ana veritabanı. Her SID, sunucudaki her bir giriş için benzersizdir.

41

Evet

NTDomainName

nvarchar

Kullanıcının ait olduğu Windows etki alanı.

7

Evet

NTUserName

nvarchar

Windows kullanıcı adı.

6

Evet

ObjectId

int

Nesnenin sistem atanan Kımlığı. Showplans düğüm kimliği ile ilişkilidir.

22

Evet

RequestId

int

Deyimi içeren istek Kımlığı.

49

Evet

SunucuAdı

nvarchar

Örnek adı SQL ServerIzlenen.

26

Hayır

SessionLoginName

nvarchar

Oturum kökenli kullanıcının oturum açma adı. Örneğin, bağlandığınız SQL Serverolarak Login2, bir deyimini yürütmek ve Login1 kullanarak SessionLoginName Login1 gösterir ve LoginName Login2 gösterir. Bu sütun her ikisini de görüntüler SQL Serverve Windows oturumlarının.

64

Evet

SPID

int

Olayın oluştuğu oturumun Kımlığı.

12

Evet

StartTime

datetime

Saat olay, varsa başlatıldı.

14

Evet

TransactionID

bigint

Hareketin sistem tarafından atanan Kımlığı.

4

Evet

XactSequence

bigint

Geçerli hareket açıklar belirteci.

50

Evet

Ayrıca bkz.

Başvuru

sp_trace_setevent (Transact-sql)

ALTER INDEX (Transact-SQL)

Kavramlar

Dizin seçeneklerini ayarlama

Diğer Kaynaklar

Monitoring Events