Share via


Çevrimiçi dizin işlemleri gerçekleştirme yönergeleri

Çevrimiçi dizin işlemleri gerçekleştirdiğinizde, aşağıdaki kurallar uygulanır:

  • Büyük nesne (lob) veri türleri temel alınan temel alınan tablo içeriyorsa, kümelenmiş dizinler, çevrimdışı yeniden oluşturuldu veya bırakılan oluşturulmalıdır: image, ntext, text, varchar(max), nvarchar(max), varbinary(max), and xml.

  • Benzersiz olmayan kümelenmemiş dizinler tablo lob veri türleri içerir, ancak bu sütunlar hiçbiri olarak anahtar veya (dahil) anahtar olmayan sütunlarla dizini tanımındaki kullanılan çevrimiçi oluşturulabilir.lob veri türü sütunlarındaki ile tanımlanan kümelenmemiş dizinler oluşturulmuş veya çevrimdışı yeniden gerekir.

  • Yerel bir temp tablolarda dizinler oluşturulmuş, yeniden veya çevrimiçi bırakılan olamaz.Bu kısıtlama, temp genel tablolarda dizinler için geçerli değil.

Not

Çevrimiçi dizin işlemleri, yalnızca kullanılabilir SQL Server kuruluş, Developer ve değerlendirme sürümleri.

Aşağıdaki tablo çevrimiçi gerçekleştirilebilir dizin işlemleri ve bu çevrimiçi işlemlerinden hariç dizinleri gösterir.Ek kısıtlamalar da bulunmaktadır.

Çevrimiçi dizin işlemi

Dışlanan dizinler

Diğer kısıtlamalar

ALTER DİZİN YENİDEN OLUŞTURMA

Devre dışı bırakılmış kümelenmiş dizin veya dizinli görünüm devre dışı

xml dizini

Yerel bir temp dizinitablo

Anahtar sözcük belirterek tüm işlemin ne zaman başarısız olmasına neden olabilir tablo dışlanan dizin içerir.

Devre dışı bırakılmış dizinler yeniden oluşturuluyor ek kısıtlamalar uygulanır.Daha fazla bilgi için bkz: Dizinler ve kısıtlamalar devre dışı bırakma yönergeleri.

DİZİN OLUŞTURMA

xml dizini

İlk benzersiz kümelenmiş dizin bir görünüm

Yerel bir temp dizinitablo

 

DROP_EXISTING İLE DİZİN OLUŞTURMA

Devre dışı bırakılmış kümelenmiş dizin veya dizinli görünüm devre dışı

Yerel bir temp dizinitablo

xml dizini

 

DROP INDEX

Devre dışı bırakılmış dizini

xml dizini

Kümelenmemiş dizin

Yerel bir temp dizinitablo

Tek bir deyim içinde birden çok dizin belirtilemez.

alter tablo KISITLAMA Ekle (birincil anahtar veya UNIQUE)

Yerel bir temp dizinitablo

Kümelenmiş dizin

Tek bir subclause sırasında izin verilen bir saat.Örneğin, ekleyip hem birincil anahtar veya benzersiz kısıtlama aynı alter table drop deyim.

alter tablo bırakma kısıtlaması (birincil anahtar veya UNIQUE)

Kümelenmiş dizin

 

temel alınan temel alınan tablo değiştirilemez, kesilmiş veya çevrimiçi dizin işlemi işleminde çalışırken bırakılan.

Oluşturduğunuzda veya kümelenmiş dizin bırakın belirtilen çevrimiçi seçeneği ayarı (on ya da off) yeniden oluşturulması kümelenmemiş dizinleri için geçerli olur.Kümelenmiş dizin oluşturma dizini ile DROP_EXISTING kullanarak çevrimiçi yerleşik, örneğin, çevrimiçi, tüm ilişkili = on kümelenmemiş dizinleri yeniden çevrimiçi de.

Oluşturduğunuzda ya da bir benzersiz yeniden çevrimiçi dizin Dizin Oluşturucu ve bu nedenle benzersizlik ihlal aynı anahtar eklemek eşzamanlı kullanıcı hareket deneyebilirsiniz.Yeni dizin için kaynak tablo özgün satırdan taşınmadan önce kullanıcı tarafından girilen bir satırı (hedef) yeni dizine eklenir, çevrimiçi dizin işlemi başarısız olur.

Çevrimiçi dizin işlemi neden yaygın değil, ancak bir çıkmaz ne zaman onu kurduğu veritabanı güncelleştirmeleri ile kullanıcı veya uygulama faaliyetleri nedeniyle.Bu nadiren SQL Server Veritabanı Altyapısı kullanıcı veya uygulama etkinliği çıkmaz seçer kurban.

Aynı eş zamanlı çevrimiçi dizin ddl işlemleri gerçekleştirebilir tablo veya sadece ne zaman birden çok yeni kümelenmemiş dizinleri oluştururken, veya kümelenmemiş dizinleri yeniden düzenleme görüntüleyin.Diğer tüm çevrimiçi dizin işlemleri aynı anda gerçekleştirilen saat başarısız.Örneğin, varolan bir dizini çevrimiçi aynı yeniden oluşturulurken çevrimiçi yeni bir dizin oluşturamazsınız tablo.

Disk alanı konuları

Genellikle, disk alanı gereksinimleri çevrimiçi ve çevrimdışı dizin işlemleri için aynıdır.Geçici eşleme dizini tarafından gerekli ek disk alanı bir istisnadır.Bu geçici bir dizin oluşturmak, yeniden oluşturmak veya bir kümelenmiş dizin bırakın çevrimiçi dizin işlemleri kullanılır.kümelenmiş dizin çevrimiçi bırakarak kadar boşluk olarak çevrimiçi kümelenmiş dizin oluşturmayı gerektirir.Daha fazla bilgi için bkz: Dizin ddl işlemleri için disk alanı gereksinimleri.

Performans değerlendirmeleri

Çevrimiçi dizin işlemleri eş zamanlı kullanıcı güncelleştirme etkinliği izin vermek, ancak dizin işlemleri güncelleştirme etkinliği çok ağır ise daha uzun sürer.Tipik olarak, çevrimiçi dizin işlemleri karşılığı çevrimdışı dizin işlemleri eş zamanlı güncelleştirme etkinliği düzey ne olursa olsun daha yavaş olacaktır.

Çevrimiçi dizin işlemi sırasında kaynak ve hedef yapıları tutulduğundan, kaynak kullanımı için ekleme, güncelleştirme ve silme hareketleri, potansiyel çift kadar artırılır.Bu performans ve büyük kaynak kullanımı, özellikle cpu bir düşüşe neden olabilir saat, dizin işlemi sırasında.Çevrimiçi dizin işlemleri tam olarak kaydedilir.

Çevrimiçi işlemler öneririz, ancak ortamı ve belirli gereksinimleri değerlendirmelidir.Dizin işlemleri çevrimdışı çalışacak şekilde en iyi olabilir.Böylece, kullanıcıların erişimi için veri işlem sırasında sınırlamış, ancak işlem tamamlandığında daha hızlı ve daha az kaynak kullanır.

Çok işlemcili bilgisayarlarda çalışan SQL Server kuruluş, INDEX deyim sıralama işlemleri gibi diğer sorgu do. INDEX deyim ile ilişkili ve tarama gerçekleştirmek için daha fazla işlemci kullanabilirmaxdop indeks seçeneği, çevrimiçi dizin işlemi sırasında ayrılmış olan işlemci sayısını denetlemek için kullanabilirsiniz.Bu yolla, olanla eşzamanlı kullanıcıların dizin işlemi tarafından kullanılan kaynakları dengeleyebilirsiniz.Daha fazla bilgi için bkz: Paralel dizin işlemleri yapılandırma.

s-lock veya Sch-m kilit Index işlemi son aşamasında tutulur çünkü BEGIN TRANSACTION gibi bir açık kullanıcı hareket içinde bir çevrimiçi Index işlemi çalıştırdığınızda, dikkatli olun...Blok uygulayın.Aksi takdirde bu olur kilit bu nedenle kullanıcı eşzamanlılık engelleyen hareket sonuna kadar gerçekleştirilecek.

Hareket günlük konuları

Büyük ölçekli dizin işlemleri gerçekleştirilen çevrimdışı veya çevrimiçi olarak hızlı bir şekilde doldurmak işlem günlüğü neden olabilir büyük veri yükü oluşturabilirsiniz.Dizin işlemi tamamlanıncaya kadar dizin işlemi geri, hareket alınabilmesi emin olmak için günlük fazlalıklar olamaz; Ancak, oturum dizin işlemi sırasında yedeklenebilir.Bu nedenle, işlem günlüğü dizini işlem süresi için dizin işlem hareketleri hem de tüm eşzamanlı kullanıcı işlemleri depolamak için yeterli boş alanı olması gerekir.Daha fazla bilgi için bkz: Dizin işlemleri için işlem günlüğü Disk alanı.