Soru: Logo Programı Başlatılırken ‘Firma Tabloları Bulunamadı’ Hatası Nasıl Düzeltilir?
Cevap: Logo muhasebe yazılımlarında kullanıcı adı ve parola yazılıp ‘Firma Seçimi’ yapıldıktan sonra ekrana gelen ‘Firma dosyaları / tabloları bulunamadı!’ veya ‘Tablo bulunamadı: LG_XXX_XX_INVOICE’ hatası, programın ilgili mali yıla ve döneme ait SQL veritabanı tablolarına fiziksel olarak ulaşamadığını ilan eder. Bu durum genellikle yeni bir mali yıla girildiğinde dönem devir işlemlerinin yarım kalması, veritabanının yedeğinin geri yüklenmesi (Restore) sonrası kullanıcı yetki haritasının (User Mapping) bozulması veya bir SQL Server çökmesi sonrası tabloların ‘Suspect’ modunda kalmasından kaynaklanır.
Firma Tablolarının Kaybolmasının Teknik Sebepleri
Logo veri mimarisinde her şirket ve her çalışma dönemi bağımsız üç haneli numaralarla (Örn: Firma 001, Dönem 01) tablolara kodlanır:
- Eksik Tablo Oluşturma: Logo Sistem İşletmeni (LBSYS / Sys) üzerinde yeni bir firma veya dönem açılmış fakat ‘Tabloları Oluştur’ işlemi tamamlanmadan program çalıştırılmıştır.
- SQL Server Yetki Kopması (Orphan User): Veritabanı geri yüklendiğinde Logo nun kullandığı SQL kullanıcısı (genellikle
LOGOkullanıcısı) ile veritabanının güvenlik sid kimliği birbirinden ayrışır; program veritabanına bağlanır ancak içindeki tabloları göremez. - Bozulmuş Veritabanı İndeksleri: Beklenmeyen kapanmalarda ana sistem tablosunun (L_CAPIFIRM) bozulması.
1. Adım: Logo Sistem İşletmeni (LBSYS) Üzerinden Tabloları Güncelleme
Bu arızada ilk başvurulacak resmi kurtarma adımı sistem tablolarının yeniden yapılandırılmasıdır:
- Logo nun kurulu olduğu dizindeki LBSYS.exe (Logo Sistem İşletmeni) sağ tıklanıp yönetici olarak açılır.
- Yönetici parolası girilerek Yönetim > Firmalar menüsüne gidilir.
- Hata veren firmanın ve ilgili dönemin üzerine sağ tıklanır.
- ‘Tabloları Sürüme Göre Güncelle’ (Update Tables) veya ‘Veritabanı Araçları > Tablo Oluştur / Doğrula’ seçeneği işaretlenir.
- İşlem başlatılır; sistem eksik kalmış tüm
LG_XXX_XX_...tablolarını ve sistem görünümlerini (View) SQL Server üzerinde sıfırdan inşa eder.
2. Adım: SQL Server Üzerinde Yetki Eşitlemesi (Orphan User Onarımı)
Sorun veritabanı yedeği açıldıktan sonra ortaya çıktıysa SQL kullanıcısı yetkisiz kalmıştır:
USE [MASTER];
GO
-- Veritabanı bağlamını Logo veritabanına getirin:
USE [LOGODB];
GO
-- Kopmuş olan LOGO kullanıcısını ana SQL sunucu girişiyle yeniden eşitleyin:
ALTER USER [LOGO] WITH LOGIN = [LOGO];
EXEC sp_change_users_login 'Update_One', 'LOGO', 'LOGO';
GOBu T-SQL betiği, kullanıcının veritabanı nesnelerini (tablolar, triggerlar ve procedürler) görmesini engelleyen tüm yetki kopukluklarını 1 saniyede onarır.
3. Adım: Sistem Dosyası (L_CAPIFIRM) Bütünlük Denetimi
Veritabanı tabloları SQL Management Studio da fiziksel olarak görünüyor fakat program hâlâ ‘bulunamadı’ diyorsa, L_CAPIFIRM tablosundaki dönem aktiflik bayrakları kontrol edilmeli; ilgili dönemin BEGDATE ve ENDDATE mali yıl tarihlerinin takvim yılıyla uyumlu olduğu teyit edilmelidir.
Logo veritabanı onarımı, dönem devir işlemleri, SQL yetkilendirme ve kurumsal veri kurtarma hizmetlerinde BaykalSoft ERP Hizmetleri teknik laboratuvarımızdan destek alabilirsiniz.