Bir 2008 sunucusuna kopyalamak istediğim bir SQL Sever 2012 örneğinde bir veritabanım var. 2008 sunucusu, 2012 sunucusu tarafından oluşturulan yedeklemeleri geri yükleyemez (denedim).
2008'de uyumlu bir yedekleme oluşturmak için 2012'de hiçbir seçenek bulamıyorum. Bir şey mi eksik?
Şema ve verileri, 2008'e aktaracağım bir sürüm agnostik formata dışa aktarmanın kolay bir yolu var mı?
Veritabanı, 2012'ye özgü hiçbir özellik kullanmaz. Tabloları, verileri ve saklı prosedürleri içerir.
İşte şimdiye kadar denediklerim
2012 sunucusunda Görevler → Komut Dosyaları Oluştur komutunu denedim ve bir şema (bir SQL komut dosyası olarak da dahil olmak üzere) şema oluşturabildim. Buna rağmen, bu verilerin hiçbirini içermiyordu.
2008 makinemde bu şemayı yarattıktan sonra, 2012 makinesinde "Verileri Dışa Aktar" sihirbazını açmayı başardım ve 2012'yi kaynak makine olarak ve 2008'i hedef makine olarak yapılandırdıktan sonra, oluşturduğum tabloların bir listesini sundum. kopyalayabilir. Tüm masalarımı (300+) seçtim ve sihirbazı tıklattım. Ne yazık ki, senaryolarını oluşturmak için yaş harcıyor, sonra "salt okunur 'FOO_ID' sütununa ekleme hatası" gibi hatalarla başarısız oluyor.
Ayrıca "2000'den veya daha sonradan 2005 veya sonrasına" kopyalayabildiğini iddia eden "Veritabanı Kopyalama Sihirbazı" nı da denedim. İki modu vardır:
Hata ile başarısız olan "Ayır ve Ekle":
Message: Index was outside the bounds of the array. StackTrace: at Microsoft.SqlServer.Management.Smo.PropertyBag.SetValue(Int32 index, Object value) ... at Microsoft.SqlServer.Management.Smo.DataFile.get_FileName()
Hata ile başarısız olan SQL Yönetim Nesnesi Yöntemi
IsFileStream özelliği okunamıyor. Bu özellik, SQL Server 7.0'da mevcut değil. "