Ana SayfaRestoran OtomasyonuMasaüstü OtomasyonSambaPOS Restoran Otomasyonunda 'Yedekleme Dosyası (.bak) Geri Yüklenemiyor / Exclusive Access' SQL...

SambaPOS Restoran Otomasyonunda ‘Yedekleme Dosyası (.bak) Geri Yüklenemiyor / Exclusive Access’ SQL Tamir Rehberi

Author

Date

Category

Soru: Bilgisayar Çökünce Alınan SambaPOS SQL Yedeği (.bak) SSMS te Neden ‘Exclusive Access’ Hatası Verir ve Yüklenmez?

Cevap: Restoranlarda ana kasa bilgisayarı arızalandığında veya yeni bir bilgisayara geçildiğinde flash bellekteki güncel SambaPOS veritabanı yedeğinin (SAMBAPOS5.bak) Microsoft SQL Server Management Studio (SSMS) üzerinden geri yüklenmek (Restore Database) istendiğinde ekrana aniden kırmızı çarpıyla beliren ‘Restore failed for Server. System.Data.SqlClient.SqlError: The operating system returned error 5 (Access is denied) or The database is in use by another session (Exclusive access could not be obtained)’ uyarısı restoranın tüm geçmiş satış verilerini ve menü ayarlarını geri getirmesini kilitler. İşletme sahibi tüm bilgilerin silindiğini zanneder. Bu arıza yedeğin bozukluğu değil; SQL Server servisinin Windows klasör izinlerine takılması veya arka planda açık kalan SambaPOS istemcilerinin veritabanını meşgul tutarak SQL motorunun üzerine yazmayı engellemesidir.

SQL Server Restore Sürecinde ‘Exclusive Access’ ve İzin Fiziği

SQL Server bir veritabanını geri yüklerken veritabanı dosyalarını (MDF ve LDF) tamamen sıfırlar ve üzerine yazar:

  • Tek Kullanıcı Zorunluluğu: Restore anında hedef veritabanına bağlı tek bir açık oturum dahi varsa işlem güvenlik gereği anında iptal edilir (Exclusive Access Hatası).
  • Hata 5 (Erişim Engellendi): Kullanıcı .bak dosyasını Windows ‘Masaüstü’ veya ‘İndirilenler’ klasörüne koyduğunda; arka planda bağımsız bir Windows kullanıcısı olarak çalışan NT ServiceMSSQLSERVER servis hesabı o kişisel klasörü okuma yetkisine sahip değildir ve ‘Erişim Reddedildi’ der.

1. Adım: .bak Dosyasını SQL Server’ın Kendi Güvenli ‘Backup’ Dizinine Taşıma

‘Erişim Engellendi (Access Denied – Error 5)’ hatasını anında yok etmek için:

  1. Flash bellekteki SAMBAPOS5.bak dosyası masaüstüne DEĞİL; doğrudan SQL Server ın fabrikasyon tam yetkili klasörüne kopyalanır:
C:Program FilesMicrosoft SQL ServerMSSQL15.SQLEXPRESSMSSQLBackup

Bu klasör SQL Server ın kendi mülküdür; hiçbir Windows izin engeline takılmadan dosyayı anında okur.

2. Adım: Veritabanını ‘Tek Kullanıcı Moduna’ (Single User) Zorlama

Açık kalan arka plan bağlantılarını tek satırla öldürmek için SSMS te New Query açılarak şu T-SQL komutu çalıştırılır:

USE [master];
GO
-- Açık kalan el terminallerini ve SambaPOS oturumlarını anında kesin:
ALTER DATABASE [SAMBAPOS5] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO

Bu komut veritabanını kullanan tüm hayalet bağlantıları milisaniyesinde kapatır ve kilidi açar.

3. Adım: ‘WITH REPLACE’ Parametresi ile Yedeği Kusursuz Üzerine Yazma

Komut satırından hatasız geri yükleme işletilir:

RESTORE DATABASE [SAMBAPOS5] 
FROM DISK = 'C:Program FilesMicrosoft SQL ServerMSSQL15.SQLEXPRESSMSSQLBackupSAMBAPOS5.bak'
WITH REPLACE, RECOVERY;
GO
-- Veritabanını tekrar genel kullanıma açın:
ALTER DATABASE [SAMBAPOS5] SET MULTI_USER;
GO

Komut çalıştığı anda ekrana ‘RESTORE DATABASE successfully processed’ onay mesajı gelir. SambaPOS açıldığında dünün tüm satışları, adisyonları, masa planı ve reçetelerinin kuruşu kuruşuna eksiksiz geri yüklendiği doğrulanır.

Restoran otomasyonu veri kurtarma, SambaPOS SQL veritabanı onarımları, sunucu göçü ve felaket kurtarma senaryolarında BaykalSoft Veritabanı Mühendisliği uzman kadromuzla iletişime geçebilirsiniz.

Önceki Gönderiler

Önceki Yorumlar