SQL Server

SQL Server 2008’ de Bulunan Bir Database’ i SQL Server 2005’ e Taşımak (Restore)

Aslında problem sadece 2008’den 2005’e taşımak ile sınırlı değil. Bildiğiniz gibi major üst versiyonlarda oluşturulmuş bir database’i daha alt bir versiyona backup-restore ya da detach-attach ile taşıyamıyoruz.

Bugünkü yazımda bu konuya bir çözüm bulup adım adım bu taşıma işleminin nasıl yapılacağına bakıyor olacağız.

Giriş paragrafında da belirttiğim gibi konu sadece 2008’den 2005’e taşımak ile ilgili değil. 2008R2’dan 2008’e ya da 2008’den 2000’e yapılan backup-restore ya da detach-attach işlemlerinde de hata alınmaktadır.

Örneğin alınan hatalar şu şekilde;

2008’den 2005’e backup restore;

Msg 3241, Level 16, State 7, Line 2
The media family on device ‘D:dbDeneme2008_2.bak’ is incorrectly formed. SQL Server cannot process this media family.
Msg 3013, Level 16, State 1, Line 2
RESTORE DATABASE is terminating abnormally.

2008’den 2005’e detach attach;

The database ‘XXX’ cannot be opened because it is version 655. This server supports version 612 and earlier. A downgrade path is not supported.
Could not open new database ‘XXX’. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 948)

Şimdi çözüme geçelim;

Generate Script ile 2008’den 2005’e Database Taşıma

Ben örneğimi 2008’den 2005’e taşıma olarak yapacağım. Siz aynı mantıkta diğer versiyonlar arası da taşıma yapabilirsiniz.

Önce her zamanki gibi bir çalışma DB’si create edelim. Bu DB’yi 2008 sunucumda create ediyorum.

create database dbDeneme2008

GO

Use dbDeneme2008

GO

create table tblDeneme2008 (a int)

GO

insert tblDeneme2008 select 1

GO

Şimdi taşıma adımlarına geçelim

  1. 2008 sunucusunda bulunan taşınacak DB’ye sağ tıklayıp Tasks >> Generate Scripts bölümüne geliyoruz.

  2. Açılan ekranda next yapıp gelen ekranda çalışmak istediğimiz veritabanını seçiyoruz. Yani bu örnek için dbDeneme2008. Next’e tıklıyoruz.

image001


Script Version kısmında SQL Server 2005 ve Script Data kısmında True seçerek Next’e tıklıyoruz.

image002

image003

Choose Object Types kısmından ilgili objeleri seçiyoruz. (SP,Function,Table,View vs.) Bu Örneğimizde sadece table olduğu için tables’ı seçip next’e basıyoruz.

image004

Tüm table’ları seçiyoruz ve next’e basıyoruz.

image005

Script’i file’a save etmek istediğimizi belirtip next’e basıyoruz.

image006

Summary kısmında yaptığımız işlemin bir özetini görüyoruz.

image007

Finish’e basarak işlemi sonlandırıyoruz.

image008

2005 sunucuya geçip dbDeneme2008 adlı yeni bir boş DB create ediyoruz.
create database dbDeneme2008
GO

8. Adım sonucunda oluşan script’i 2005 sunucusunda execute ediyoruz.

image009

 

İşlem tamamlandı. 2005 sunucusunda oluşan DB’ye baktığımızda table’ların ve dataların geldiğini göreceğiz.

image010

Bu makalemizde 2008’den 2005’e bir Database’i generate script metodu ile nasıl taşıyabileceğimizi gördük.

İlgili Makaleler

Bir Yorum

  1. Hocam peki 2017 den 2014 sürümüne geçiş yaptıgımızda datayı direk attach olarak içeri alabilirmiyiz ?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu