Her SQL Server sürümü için Çevrimiçi işlemlerin tam bir listesi var mı?


20

5 TB veritabanımızdaki büyük tabloların bazılarını değiştirmek üzereyken, kendimi çevrimiçi olarak gerçekleştirilebilen ve çalışırken tam kilitlerin tutulmasını gerektiren işlemlerin bir listesine ihtiyaç duyduğumu gördüm. İdeal olarak, bu liste ayrıca hangi ifadelerin sonunda SCH-M kilidinin işlenmesini gerektirdiği hakkında bilgi içerecektir.

Microsoft'taki zamanımdan çoğunu tanırken, SQL Server 2005'ten ve 2014 CTP'ye kadar ilerledikçe halka açık bir çevrimiçi işlemler listesi bulamadığım için şaşırdım.

Herkes böyle bir liste var mı? Değilse, oluşturmaya karar verebilirim.


4
Sanırım buna spektrumun yanlış tarafından bakıyorsunuz. Bunun yerine online yapabileceklerini interpolasyon, size neyi alarak gereken ihtiyaç yapmak ve çevrimiçi neler yapılabileceğini bulmaya. "çevrimiçi" çok genel bir terimdir ve belirttiğiniz gibi eşzamanlılığa bağlıdır. Takip eden sorum, "tam olarak ne yapmaya çalışıyorsunuz?"
Thomas Stringer

2
@ThomasStringer'a katılmıyorum - büyük bir sistemde yapacağınız seçimler, ne yapmak istediğinize değil, ne yapabileceğinize bağlı olacaktır. Her şeyin çevrimiçi olmasını isterdim - ama bunun mümkün olmadığını biliyorum - bu yüzden tasarım alanını eşleştirmeye çalışıyorum.
Thomas Kejser

“bazı büyük masaları değiştirmek üzereyiz” ... Neyi değiştiriyorsunuz? Ben bunu almaya çalışıyorum. Programınızın büyük bir veritabanında büyük bir tabloda yapmak için rastgele şeyler bulmanıza izin verdiğinden şüpheliyim, bu yüzden aklınızda bir işlem yapmanız gerekir. Hangi işlemlerin şema kararlılığı gerektirdiğini arıyorsanız veya kilitleri değiştiriyorsanız, bu tamamen farklı bir şeydir. Yine ... "online", bakanın / talep sahibinin gözündedir.
Thomas Stringer

2
Yetkili bir kaynak bulunmazsa, gelecekteki okuyucuların MS'deki zamanınızdan çevrimiçi bir işlem olduğunu bildiklerinizi listelemeleri yararlı olacaktır.
billinkc

8
Liste nasıl gidiyor? :)
Mart'ta Nmad

Yanıtlar:


5

Bir taahhüt gibi geliyor. Çevrimiçi dizin işlemleri Microsoft SQL Server'ın her sürümünde mevcut değildir, umarım bu sizi başlatabilir (tablo formundadır):

SQL Server 2012: http://msdn.microsoft.com/en-us/library/ms190981.aspx

SQL Server 2008R2: http://msdn.microsoft.com/tr-tr/library/ms190981(v=sql.105).aspx

SQL Server 2008: http://msdn.microsoft.com/tr-tr/library/ms190981(v=sql.100).aspx

SQL Server 2005: http://msdn.microsoft.com/tr-tr/library/ms190981(v=sql.90).aspx


5

SQL Server 2014 kendi başına yeni çevrimiçi işlemler sunmaz, ancak kullanılabilirliği artırmak için bir dizi işlemi geliştirir. Yenilikler bölümünden :

Bölüm Değiştirme ve Dizine Ekleme

Bölümlenmiş tabloların ayrı ayrı bölümleri yeniden oluşturulabilir. Daha fazla bilgi için, bkz. ALTER INDEX (Transact-sql).

ve

Çevrimiçi İşlemlerin Kilit Önceliğini Yönetme

ONLINE = ON seçeneği artık yeniden oluşturma işleminin gerekli kilitleri ne kadar bekleyeceğini belirlemenizi sağlayan bir WAIT_AT_LOW_PRIORITY seçeneği içeriyor. WAIT_AT_LOW_PRIORITY seçeneği, söz konusu yeniden oluşturma ifadesiyle ilgili engelleme işlemlerinin sonlandırılmasını yapılandırmanıza da olanak tanır. Daha fazla bilgi için, bkz. ALTER TABLE (Transact-SQL) ve ALTER INDEX (Transact-SQL). Yeni kilit durumu türleri hakkında sorun giderme bilgileri sys.dm_tran_locks (Transact-SQL) ve sys.dm_os_wait_stats (Transact-sql) adreslerinde bulunabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.