AIFA AKADEMI · Kurumsal Wiki
4.310 makale
Ana sayfa Kurumsal Wiki › Entegrasyonlar › INT-BACKUP

BACKUP

INTEGRATIONERPGOLD_COREACTIVEHIGHSOURCE_IMPLEMENTED
Kanonik kaynak: markdown · bu sayfa üretilmiş görünümdür

Kaynak: KB-docs integrations/INT-BACKUP-yedekleme.md (tam kod taraması). KB-v1'de karşılığı yoktu (AUDIT §2.4).

INT-BACKUP — Veritabanı Yedeği (BACKUP DATABASE → USB/sürücü)

Gerçeklik türü: AS-IMPLEMENTED (kod). Depo kökü: /home/claude/erppro/ERPPRO.

1. Amaç

Kullanıcının seçtiği sürücüye (USB takılınca liste yenilenir) aktif veritabanının tam yedeğini (.bak) almak.

2. Protokol / taşıma

  • T-SQL BACKUP DATABASE <db> TO DISK = '<uygulama klasörü>\<geçici ad>' WITH FORMAT, MEDIANAME=…, NAME='Full Backup of …'InternalDb.ExecuteScalar. VERIFIED ERPPRO/Backup/Backup.vb:102-104.
  • Ardından dosya kopyalama: geçici dosya <Sürücü>AIFABACKUP\<DbAdı>\<yyyyMMddHHmmss>\<DbAdı>.bak yoluna kopyalanır, geçici silinir, klasör explorer.exe ile açılır (:106-110).
  • USB algılama: WM_DEVICECHANGE (:13-23) → DriveList (hazır sürücüler).

3. Giriş noktası sınıf ve metotlar

  • ERPPRO/Backup/Backup.vb (FormBase)
  • :25-36 DriveList, :37-44 IsReady.
  • :54-70 Başlat (BtnStart): sürücü hazır değilse "… Sürücüsü Hazır Degil."; SqlConnectionStringBuilder(InternalDb.ConnStr).InitialCatalog ile DB adı; BackgroundWorker1.RunWorkerAsync.
  • :91-116 DoWork: yedek + kopya; hata → "Yedek Alırken Hata Olustu. Lütfen Anamakinda Yedek Aldığınızdan Emin Olunuz. Terminal Bilgisayarlarından Güvenlik Nedeniyle Yedek Alamazsınız. (…)" (YEDEKLEME YAPILAMADI!!!).
  • :118-122 tamamlanınca düğme/ilerleme sıfırlanır.
  • Tetik: ERPPRO/Form/Genel/FrmMainForm.vb:684-688 BtnYedekAl_ItemClickBackup.ShowDialog.

4. Kullandığı tablolar / ayarlar

Nesne Kullanım Kanıt
InternalDb.ConnStr (Config.cfg'den) DB adı ve bağlantı Backup.vb:56
Uygulama klasörü (My.Application.Info.DirectoryPath) SQL Server'ın yazacağı geçici yol Backup.vb:97
Hedef: <Sürücü>\AIFABACKUP\<Db>\<zaman>\<Db>.bak Yedek dosyası Backup.vb:62-63

5. Hangi ekrandan tetiklenir

Ana menü Yedek Al düğmesi (BtnYedekAl).

6. Hata / başarısızlık davranışı

  • BACKUP DATABASE yolunu SQL Server servisi yazar: ERP terminalde çalışıyorsa uygulama klasörü SQL sunucusunda yoktur → hata → yukarıdaki mesaj (mesaj bunu açıkça belirtir). VERIFIED
  • Hedef sürücüde yer yoksa File.Copy hatası aynı mesajla yutulur; geçici .bak uygulama klasöründe kalabilir (File.Delete kopya başarısızsa çalışmaz). INFERRED
  • For Each f … Process.Start("explorer.exe", FolderName) klasördeki dosya sayısı kadar Explorer açar (tek dosya beklendiğinden 1). VERIFIED

7. Riskler

  • Yedek yalnız ana makinede alınabilir; otomatik/zamanlanmış yedek mekanizması ERP'de yok (notlarda "günlük SQL yedekleri" ayrı süreç). VERIFIED
  • DB adı SQL metnine doğrudan eklenir ("BACKUP DATABASE " & DbName); ad bağlantı dizesinden geldiği için düşük risk.
  • DOCUMENTS gibi ikinci veritabanı yedeklenmez (bkz. INT-DOCUMENTS-DB). INFERRED
  • .bak şifresiz; USB ile taşınan yedek müşteri verisi içerir. INFERRED

8. Kanıt listesi

  • ERPPRO/Backup/Backup.vb:5-123
  • ERPPRO/Form/Genel/FrmMainForm.vb:684-688
  • Not: kb_src/notes/integrations.json içinde yedekleme için ayrı kayıt yok; INT-RDP-SUNUCU "günlük SQL yedekleri yedek sunucuya ertesi gün 10:00'da restore" sürecini anar (AS-DOCUMENTED).

9. UNKNOWN

  • Sunucu tarafındaki zamanlanmış yedek işi (SQL Agent/maintenance plan) — bu depoda yok.
  • Yedek geri yükleme (RESTORE) ekranı — kodda yok.