31 Mart 2008 Pazartesi

System.Data.SqlClient.SqlError: This backup cannot be restored using WITH STANDBY because a database upgrade is needed. Reissue the RESTORE without W

HATA MESAJI:
"System.Data.SqlClient.SqlError: This backup cannot be restored using WITH STANDBY because a database upgrade is needed. Reissue the RESTORE without WITH STANDBY."

AÇIKLAMASI:
Bu hata mesajını, SQL Server 2000 \ 2005 gibi SQL Server 2008' den daha eski SQL Server Instance' larında oluşturulmuş bir veritabanını, "WITH STANDBY..." komutu ile birlikte açmaya (Restore) çalışırken alabilirsiniz.

ÇÖZÜM:
Kullandığınız SQL Server Instance' ından daha eski bir SQL Server versiyonundan alınan veritabanı yedeğinizi ilk önce "WITH RECOVERY" komutuyla açmalısınız. Eğer daha sonra bu veritabanının tekrar yedeğini alıp "WITH STANDBY" seçeneğiyle açmak istiyorsanız, o zaman bu veritabanının Uyum Düzeyini ("Compatibility Level") Veritabanı Özelliklerinden yükseltmelisiniz.

2 yorum:

Sedat Düztaş dedi ki...

Merhabalar,

SQL 2008 ve SQL 2008 R2 arasında logshipping yapmak istediğimizde bu hata mesajını alıyoruz. Standby modunda restore'a izin vermiyor oysa bu ikisinin de compatibility level'i 100 yani aynı. Upgrade yapmadan bir çözüm bulunabilir mi acaba ?

teşekkürler,

Sedat Düztaş

Ekrem Önsoy dedi ki...

Selam Sedat,

Kaynak sunucu (primary server) 2008 mi yoksa 2008R2 mi?

Hatırladığım kadarıyla Kaynak sunucu üst versiyon olabilir, ama alt versiyon olamaz. Yani kaynak SQL 2008 R2 olup hedef SQL 2008 olabilir, ama tam tersi olamaz. Emin olmak için bi test yapmak gerekebilir.