Birincil Anahtarı Dosya Grubuna Taşıma (SQL Server 2012)


14

Kümelenmiş bir birincil anahtarı yeni bir dosya grubuna nasıl taşıyabilirim? Zaten olası bir "algoritma" buldum ama korkunç derecede verimsiz:

  1. Kümelenmemiş dizine eklenmiş bırak (bunların yeniden gönderilmesini ve yeniden oluşturulmasını gerektirir)
  2. Kümelenmiş dizini bırak (tüm tablonun yeniden gönderilmesini gerektirir)
  3. Yeni birincil anahtar kısıtlaması oluşturma (büyük sıralama işlemi)
  4. Kümelenmemiş tüm dizinleri oluşturma (sıralama ve yazma gerekir)

Daha etkili bir yol var mı? Bu korkunç derecede verimsizdir ve zayıf bir sunucuda tablonun boyutu 50GB olduğundan uzun zaman alacaktır.

Tüm bunları atlamanın ve sadece yeni bir dosya grubunda yeniden oluşturma yapmanın bir yolu yok mu? Bu herhangi bir veri sıralaması gerektirmez.

Yanıtlar:


24
CREATE UNIQUE CLUSTERED INDEX Your_PK_Name
    ON YourTable(YourColumnList)
WITH (DROP_EXISTING =  ON )
ON [YourOtherFileGroup]

Bu, sözdiziminde belirtilmemesine rağmen mantıksal PK özelliğini korur.

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.