System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing 'veritabanı_adı' database. (Microsoft.SqlServer.Smo)
Mesaj Başlığı | "System.Data.SqlClient.SqlError: The backup set holds a backup of a database other than the existing 'veritabanı_adı' database. (Microsoft.SqlServer.Smo)" |
Hata Açıklaması | Eğer işlem yaptığınız SQL Server Instance' ınızda açmak (Restore) için belirttiğiniz veritabanı adında bir veritabanı zaten varsa ve açmak istediğiniz veritabanından farklı bir veritabanıysa bu hatayı alırsınız. |
Çözüm | Meselâ kullandığınız SQL Server Instance' ında "Aksu" isminde bir veritabanınız var. Bir de "Kartel" veritabanına ait yedek dosyanız (*.bak) var, eğer bu yedek dosyasını SQL Server Instance' ınızda "Aksu" veritabanı adını kullanarak açmaya çalışırsanız bu hatayı alırsınız çünkü ikisi de farklı veritabanlarıdır. Bu nedenle açmaya çalıştığınız "Kartel" veritabanının yedeği için ya "Kartel" ismini veritabanı adı olarak kullanın, ya da o anda çalıştığınız SQL Server Instance' ında varolmayan bir veritabanı ismi kullanın. |
SQL Server Versiyonu | SQL Server |
İşletim Sistemi | Bu sorunla tüm versiyonlarda karşılaşılabilir. |
Her ne kadar hata mesajı çözümü için yukarıdaki durum önerilsede bir başka durumda aşağıdaki yaklaşımdır.
Create new Database. In Restore window-> Options tab, check "Force restore over existing database". And then try to restore. This may work for you.
Backup dosyanız ile aynı isimde boş bir veritabanı yaratılır, ardından restore seçeneğinde ilgili kaynak ve hedef veritabanı seçilir. Ardından restore arayüzünde options sekmesi vardır. Option sekmesinin arayüzünde 2008 sql serverda “Overwrite the existing database(with replace) seçeneğini işaretlerseniz veritabanı back up dosyasını restore edebilirsiniz.
Yorumlar
Yorum Gönder