Forum
Merhaba
SQL server içerisinde yaklaşık 3 milyar satırlık bir tablom var ve belli bir tarihten öncesini silmek istiyorum.
Silmeye kalktığım her sorgu ram i şişiriyor(32 GB)ve sorguyu tamamlamadan servisi restart etmek zorunda kalıyorum.
bunun için ne yapabilirim önerisi olan varmı.
Teşekkürler
Selam,
Bir döngü kullanarak silmeyi denediniz mi,
Örneğin,
SELECT 1
WHILE @@ROWCOUNT > 0
BEGIN
DELETE TOP (5000)
FROM Table
END
Oracle ACE Associate - Türkiye Hayat & Emeklilik
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
merhaba,
benzer talep için referans adreste, alternatif yollar mevcut.
tercihinizi job olarak tanımlayıp, zamanlarsanız, yönetimi daha kolay olacaktır.
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
SELECT * INTO YENITABLO FROM ASILTABLO WHERE TARIH>='01.01.2017'
Sorgusu ile silmek istemediğiniz kısmın kopyasını yeni tabloya hızlıca aktarabilirsiniz.
Eski tablo ismini değiştirip indexleri sildikten sonra, yeni tablo ismini düzeltip indexleri oluşturarak çözülebileceğini düşünüyorum.