- Katılım
- 23 Eki 2022
- Mesajlar
- 7,906
- Çözümler
- 12
- Tepkime puanı
- 4,630
- Puanları
- 113
- Yaş
- 28
vSRO 1.88 clean DB üzerinde bazı sunucularda karakter silme sistemi varsayılan olarak 7 gün bekleme süresi ile çalışmaktadır. Bu konu içerisinde bu süreyi test amaçlı düşürme ve prosedür hatalarının giderilmesi anlatılmaktadır.
Aşağıdaki satırı bulun:
Bunu şu şekilde değiştirin:
Şu hatalı kullanım:
DOĞRU KULLANIM:
Sorun Açıklaması
Bazı serverlarda:- Karakter silindikten sonra anında silinmiyor
- Sistem 7 gün bekleme süresi uyguluyor
- Prosedür update edildiğinde syntax hatası oluşabiliyor
Hata Örnekleri
Kod:
Incorrect syntax near '/'
Incorrect syntax near ')'
Incorrect syntax near '@userJID'Sebep
- Prosedür içinde hatalı script birleşimi
- USE komutunun RETURN ile aynı satırda kullanılması
- END / GO eksiklikleri
- Eski procedure cache çalışması
Çözüm – Süreyi Test İçin 5 Dakikaya Çekme
_DeleteCharPermanently
Aşağıdaki satırı bulun:
Kod:
if (@elapsed_min < ((60 * 24 * 6) + (60 * 23)))Bunu şu şekilde değiştirin:
Kod:
if (@elapsed_min < 5)ÖNEMLİ DÜZELTME
Şu hatalı kullanım:
Kod:
return @GuildID USE [SRO_VT_SHARD]DOĞRU KULLANIM:
Kod:
return @GuildID
END
GO
USE [SRO_VT_SHARD]
GOEk Fix – _DeletedChar Test (Hızlı Silme Testi)
Test etmek için tarih güncelleme:
Kod:
UPDATE _DeletedChar
SET deleteddate = DATEADD(MINUTE, -10, GETDATE())
WHERE CharID = XXXKontrol Edilecek Noktalar
- Tüm prosedürlerde END + GO kontrol edin
- Scriptleri tek batch halinde çalıştırmayın
- SQL Server cache refresh için prosedürü yeniden ALTER edin
Sonuç
Bu fix ile:- 7 günlük bekleme süresi test ortamında düşürülebilir
- Character delete sistemi hızlı test edilebilir
- Syntax hataları giderilir
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
İçeriği görüntülemek için Giriş yapın veya Kayıt olun.
