İçeriğe geç
Türkiye'nin SRO tanıtım & topluluk platformu

vSro Paylaşım vSRO Tek Karakteri Veritabanından Kalıcı Olarak Silme (Full Wipe)

Cevaplar0
Görüntüleme442
serkankacan paylaşımı beğendiysen ona bir kahve ısmarlayabilirsin
Kahve ısmarla
Ticaret Puanı
0
Katılım
8 Eyl 2026
Mesajlar
200
Tepkime puanı
33
Puanları
0
Mevcut Bakiye
290 ₺
[YÖNETİCİ REHBERİ] vSRO Tek Karakteri Veritabanından Kalıcı Olarak Silme (Full Wipe)
Foreign Key Çakışmalarını Önleyerek Eşyaları, Skilleri, Petleri ve Tüm Bağlantıları Eksiksiz Temizleme​



Merhaba değerli forum sakinleri,

Test aşamalarında çöken, buga giren veya tamamen sunucudan temizlemek istediğiniz bir karakteri silmeye çalıştığınızda genellikle **Foreign Key Constraint (İlişkisel Anahtar Hatası)** ile karşılaşırsınız.

İnternette dolaşan eski sorgularda sadece 4-5 tablo silindiği için `_Items` tablosunda yetim eşyalar kalır, karakterin petleri (`_CharCOS`), görevleri (`_CharQuest`), arkadaş listesi (`_Friend`) ve posta kayıtları (`_Memo`) silinmediği için veritabanında şişme ve hatalar meydana gelir.

Aşağıdaki sorgu, bir karaktere bağlı olan istisnasız tüm alt verileri (çantasındaki itemlerin `_Items` fiziksel kayıtları dahil) doğru sırayla ve güvenle temizler.

Kritik Güvenlik Uyarısı' Alıntı:
DİKKAT (Geri Döndürülemez İşlem):
  • Bu işlem geri alınamaz! Karakter tamamen veritabanından silinir.
  • Silinecek karakterin kesinlikle oyunda olmaması (Offline) zorunludur.
  • Eğer karakter bir klanın (Guild) başkanı (Master) ise, silmeden önce klanı oyundan dağıtmanız veya masterlığı devretmeniz önerilir.
  • İşlem öncesinde mutlaka SRO_VT_SHARD yedeğinizi alınız.



Hatasız & Eksiksiz SQL Karakter Silme Sorgusu





Neden Bu Optimize Yapı Kullanılmalı?

  1. Transaction (İşlem Güvenliği): Kod `BEGIN TRY...CATCH` ve `TRANSACTION` içine alınmıştır. Eğer silme esnasında tek bir tabloda bile hata çıkarsa işlem geri alınır (Rollback) ve veritabanı yarım/çöp halde kalmaz.
  2. Sıfır Yetim Kayıt (Orphan-Free): Karakterin envanterindeki eşyalar `_Items` tablosundan da fiziksel olarak temizlenir; veritabanı şişmesi ve boşa yer kaplaması engellenir.
  3. Pet ve Görev Bütünlüğü: Pet çantaları (`_InvCOS`), aktif görevler (`_CharQuest`) ve arkadaş listesi (`_Friend`) de silindiği için Foreign Key hataları tamamen önlenmiştir.



Nasıl Uygulanır?

  1. Silmek istediğiniz karakterin oyunda olmadığından emin olun (Offline).
  2. SQL Server Management Studio (SSMS) programını açıp New Query deyin.
  3. Yukarıdaki kodu yapıştırın ve en üstteki @CharName = 'CharAdıYaz' alanını silinecek nick ile değiştirin.
  4. F5 tuşuna basarak sorguyu çalıştırın.
  5. Messages sekmesinde BAŞARILI iletisini gördüğünüzde karakter tamamen silinmiş olacaktır.

Sorularınızı ve takıldığınız yerleri konu altından sorabilirsiniz. Herkese keyifli geliştirmeler!
 
Moderatör tarafında düzenlendi:

Konuyu görüntüleyenler

Yükleniyor...
Yükleniyor...
Şu anda sitemizde 154 Aktif Kullanıcı
Çevrimiçi üyeler
Konular 1,170
Mesajlar 4,301
Kullanıcılar 1,858
Son üye Dilara Baydemir
Geri
Üst