Ana SayfaRestoran OtomasyonuMasaüstü OtomasyonSambaPOS Restoran Otomasyonunda 'SQL Veritabanı Boyutu Doldu (Error 1827)' ve Log Küçültme...

SambaPOS Restoran Otomasyonunda ‘SQL Veritabanı Boyutu Doldu (Error 1827)’ ve Log Küçültme (Shrink) Rehberi

Author

Date

Category

SQL Express 10 GB Veritabanı Sınırına Takılan Restoran Sistemleri

Restoranlarda, kafelerde ve perakende işletmelerinde SambaPOS otomasyonu için Microsoft’un ücretsiz olarak sunduğu Microsoft SQL Server Express (2014, 2017, 2019, 2022) veritabanı motoru kullanılır. Ancak aradan 3-4 yıl geçtikten veya işletmede günde binlerce fiş kesildikten sonra bir gün aniden ekranda ‘CREATE DATABASE or ALTER DATABASE failed because the resulting cumulative database size would exceed your licensed limit of 10240 MB’ (Hata Kodu: 1827) uyarısı belirir ve SambaPOS tamamen kilitlenir. Kasiyer hiçbir masayı kapatamaz, yeni adisyon açamaz. Microsoft, Express sürümlerinde her bir veritabanı için maksimum 10 GB (10.240 MB) veri sınırı koymuştur. Bu sınır aşıldığı anda veritabanı yeni kayıt kabul etmeyi durdurur.

10 GB Sınırını Dolduran Nedir? Veri (MDF) vs İşlem Günlüğü (LDF)

Veritabanı dizini (DATA klasörü) incelendiğinde iki temel dosya görülür:

  • SAMBAPOS5.mdf (Asıl Veri Dosyası): Menüler, masalar, adisyonlar ve cari hesapların tutulduğu alandır. 5 yıllık yoğun bir restoranın gerçek verisi en fazla 1-2 GB tutar; 10 GB’ı tek başına doldurması neredeyse imkansızdır.
  • SAMBAPOS5_log.ldf (İşlem Günlüğü Dosyası): Veritabanında yapılan her hareketin (masaya çay eklendi, masa taşındı, fiş basıldı vb.) geri alma kayıtlarının tutulduğu günlük dosyasıdır. Varsayılan olarak ‘Full Recovery’ modunda kalan bu dosya zamanla 20 GB, 50 GB hatta 100 GB seviyesine fırlar ve diski patlatır.

1. Adım: Veritabanı Kurtarma Modelini ‘Simple’ Moduna Çekme

İşlem günlüğünün (LDF) sonsuza kadar büyümesini engellemek için SQL Server Management Studio (SSMS) açılarak kurtarma modeli basitleştirilmelidir:

SSMS Yeni Sorgu (New Query) Ekranı:
USE [master];
GO
-- Veritabanı kurtarma modelini SIMPLE yapın (Eski logları anında serbest bırakır):
ALTER DATABASE [SAMBAPOS5] SET RECOVERY SIMPLE;
GO

RECOVERY SIMPLE modu seçildiğinde SQL Server tamamlanan işlemlerin kayıtlarını log dosyasında tutmayı bırakır; dosyanın şişmesi durur.

2. Adım: Şişmiş Log Dosyasını Küçültme (DBCC SHRINKFILE)

Kurtarma modeli basitleştirildikten sonra devasa boyuttaki LDF dosyasının havası söndürülür:

USE [SAMBAPOS5];
GO
-- Mantıksal log dosyasının adını öğrenin:
SELECT name FROM sys.master_files WHERE database_id = DB_ID('SAMBAPOS5');

-- Log dosyasını 10 MB seviyesine küçültün:
DBCC SHRINKFILE (N'SAMBAPOS5_log', 10);
GO

Bu iki komut çalıştırıldığı saniyede 40 GB lık devasa log dosyası anında 10 MB boyutuna düşer; C: diskinde onlarca gigabaytlık devasa boş alan açılır.

3. Adım: Asıl Veri Dosyası (MDF) 10 GB Sınırına Yaklaştıysa Ne Yapılmalı?

Eğer işletmenin gerçek MDF dosyası 9.5 GB a ulaştıysa:

  1. SambaPOS içinden Yönetim > Ayarlar > Veritabanı Görevleri menüsünden ‘Eski Çalışma Dönemlerini Temizle / Arşivle’ işlemi çalıştırılarak 3 yıldan eski geçmiş satış hareketleri bağımsız bir arşiv veritabanına taşınmalıdır.
  2. Alternatif olarak işletme Microsoft SQL Server Standard lisansına yükseltilerek 10 GB lık donanımsal tavan sınırı tamamen ortadan kaldırılmalıdır.

Restoran otomasyonu, SambaPOS SQL veritabanı bakımı, log küçültme, veri tabanı temizliği ve sunucu optimizasyonunda BaykalSoft Perakende Teknolojileri ekibimizden 7/24 teknik destek alabilirsiniz.

Önceki Gönderiler

Önceki Yorumlar