SQL Server 2000 veya eski sürümlerde yıllardır kullanageldiğiniz verileri artık SQL Server 2005 üstünden çalıştırmaya mı karar verdiniz? Peki ama sizce bu bir anda verilip uygulanacak bir karar mı? Makalede bu sorulara cevap aranmakta.
Konu burada fikir vermek maksatlı, küçük veritabanları için geçişin nasıl yapılabileceğini anlatmak üzere ele alınmıştır. Daha büyük ve kritik uygulamalarda, verilerinizin yanı sıra bütün bir sistemin yükseltilmesi gerektiğinde çok daha karmaşık bir süreç ortaya çıkar. Bu türden bir süreci nasıl ele alabileceğiniz ve planlayabileceğiniz konusunda ayrıntılı bilgiyi, www.microsoft.com/sql adresinde "SQL Server 2005 Upgrade Technical Reference Guide" aratarak bulabileceğiniz SQL2005UpgradeTechRef.doc adlı dokümanda bulabilirsiniz.. Burada anlatılanlar, bu dokümanın bir özeti paralelinde, günlük hayattaki tecrübeler ışığında düzenlenmiştir.
Aktarım Seçenekleri
SQL Server 7.0 veya 2000'de kurulu Bir sistemi SQL Server 2005'e aktarmak için iki farklı temel strateji mevcuttur:
Yan Yana Aktarım(Side-by-side Upgrade)
Bu türden bir aktarımda, eski sürümün yanına yeni bir SQL Server 2005 instance'i kurularak, eski sistemin varlığını devam ettirmesinin yanında yeni bir veritabanı yönetim sistemi üstünden devam edilebilir hale getirebilirsiniz.
Yerinde Aktarım(In-Place Upgrade)
Bu türden bir aktarımda, eski sürümün çalıştığı yere doğrudan SQL Server 2005'i kurabilirsiniz. Ancak eski sistem tamamıyla yok olduğu için sadece yeni sistemi devam ettirebilirsiniz.
Karakteristik
Yerinde Aktarım
Yan Yana Aktarım
Sonuç SQL kurulum(instance) sayısı
Sadece bir adet
İki adet ( eski ve yeni instace)
Gerekli server sayısı
Bir adet
Bir veya daha fazla
Veri Dosyası Transferi(mdf,ldf…)
Otomatik
El ile
Sunucu SQL instance ayarlaması
Otomatik
El ile
Destek Araçları
SQL Server Kurulum Programı
Farklı aktarım ve veri transfer metodları
Tablo: SQL Server 2000/7.0'dan 2005 sürümüne geçiş için yerinde ve yan yana aktarım stratejilere bağlı karakteristiklerin karşılaştırılması.
Her iki temel stratejinin de kendine göre avantaj ve zaafları olsa da yan yana aktarım yerinde aktarıma göre genellikle tercih edilir. Yerinde aktarımı sadece test temelli veya çok küçük, kritikliği bulunmayan uygulamalarda, daha az kaynak kullanımı için tercih edebilirsiniz.
Ayrıca, 32 Bit SQL Server sürümlerinden 64 Bit SQL Sürümlerine geçiş gibi karışık parametrelere bağlı aktarım seçeneklerini yukarıda bahsi geçen dokümanda bulabilirsiniz.
Upgrade etmeniz gereken şey, sadece veritabanı ise bunun için pratik olarak birkaç yöntemden birini tercih edebilirsiniz.
Eski server'in üstünde direk SQL Server 2005 kurarak upgrade edebilirsiniz. Bu durumda gerekli dosya dönüşüm işlemlerini SQL Server yapar ancak eski sisteme dönme ihtimaliniz varsa, SQL Server 2005'i yeni bir instance olarak kurmanızda fayda olabilir.
SQL Server 2000'de aldığınız bir yedeği SQL Server 2005'de restore edebilirsiniz.
Eski Server'daki mdf ve ldf dosyalarını deattach edip, SQL Server 2005'e getirip attach edebilirsiniz.
İPUCU:
Bu durumda SQL Server 2005 otomatik olarak dosyaların dönüşümünü yapacaktır. Ancak bu türden bir veri dönüşümünden sonra veritabanınızın uyumluluk seviyesi(Compability Level) 80 olacaktır. Yani 8.0 ile eşdeğer özellikleri kullanabilirsiniz. SQL Server 2005'e has özellikleri kullanabilmeniz için, uyumluluk seviyesini 9.0 sürüm eşdeğeri olan 90'a getirmeniz gerekir.
DİKKAT:
Bu tür bir upgrade'de dosyaları tekrardan eski sürüme attach edemezsiniz!
Eski sunucu dururken yeni bir SQL Server 2005 kurup verilerinizi SSIS ile aktarabilirsiniz. Ancak bunu yaparken çok fazla önlem almanız gerekebilir.
Basit bir Attach- Deattach işlemi üstünden Adım Adım Upgrade şu şekilde olabilir
SQL Server 2005'i kurun
SQL Server 2000'deki veritabanı dosyalarınızı kopyayabilmek için öncelikle ilgili veritabanı dosyalarının hangi yolda olduğunu öğrenin. Enterprise manager'den veritabanını sağ tıklayıp doyalar sekmesinden bunu görebilirsiniz.
İlgili veritabanını deattach edin.
Şekil-1: bir veritabanının SQL Server 2000'de deattach edilmesi
Belirlediğiniz veritabanına ait dosyalarınızı SQL Server 2005'in data dosyalarının bulunduğu dizine kopyalayıp yapıştırın.
SQL Server 2005'den ilgili dosyaları attach edin.
Şekil-2: SQL Server 2005'de bir veritabanının attach edilmesi
Arkasından yeni veritabanında aşağıdaki düzenlemeleri yapın:
SQL Server 2000'deki veritabanında geçerli bir uygulama kullanıcısı varsaydı, bunu SQL Server 2005 dosyasında da göreceksiniz. İlgili veritabanı kullanıcısını silin
Şekil-3: Bir veritabanı attach edildiğinde, eskiden gelen kullanıcılar varmış gibi görünse de silinip yeniden oluşturulması olası erişim sorunlarınızın çözümü olabilir
SQL Server 2005'de uygulama erişimi için gerekli sunucu seviyeli login bilgisini tanımlayın
Arkasından bu login bilgisinin taşınan veritabanına erişecek kullanıcısını oluşturun ve yeteri kadar hak verin.
SQL Server 2005'e aktardığınız veritabanının uyumluluk seviyesini Management Studio'dan veritabanını sağ tıklayarak, veritabanı özelliklerinden gerekli seviyeye getirin. Geri dönüş yapma ihtimaliniz varsa 80 uyumlulukta kalabilir ama kesin olarak SQL Server 2005 kullanacaksanız 90 yapmanız daha avantajlı olacaktır.
Ancak birçok orta ölçekli sistemde sadece verileri ve veritabanını aktarmak, yeterli olmayabilir. Örneğin el terminalleri ile SQL CE üstünden veri girişi yapan çalışanlarınız varsa, bu türden bir uygulamanın da yeni sürüme geçişini sağlamanız gerekir. Aynı şekilde Reporting Service ile çalışanlarınıza raporlar sağlıyorsanız, verilerinizi yeni sisteme adapte ederken raporlama sisteminizi de yeni sisteminize paralel güncellemeniz gerekir.
Dış kaynaklardan veri alan veya dış kaynaklara online veri aktaran DTS paketleriniz varsa veya Replication ile sunucularınız arasında veri aktarımları varsa, bütün bu sistemlerin güncellemesini paralel olarak planlamanız gerekir.
Bu türden bir durumda, yukarıda verilen Attach-Deattach yöntemi ile bir test sunucu üstünde sistemi test verileri ile çalıştırarak bütün platformlarda bir kontrol yapmanız, işlerin ters gidip gitmediğini test ortamında görebilirsiniz. Böylece, verilerinizi yeni sisteme taşıdıktan sonra eski sisteme tekrar taşıma güçlüklerini betaraf etmiş olursunuz.
Her şeye rağmen, yeni sisteme taşıdığınız verilerinizi, eski sisteme geri döndürmek zorunda kalırsanız, SSIS (eski adı ile DTS) veya Replication dışında bir yöntem bulunmamakta.
Sonuç ve Değerlendirme
SQL Server 2000 veya 7.0 sürümünden, SQL Server 2005'e geçiş yaparken, Attach-deattach, Backup- Restoration, DTS-SSIS, Replication, doğrudan üstüne kurarak sürüm yükseltme, veritabanı kopyalama gibi yöntemlerle veriler aktarılabilir. Bunlardan en pratik olanı veritabanı dosyasını deattach-attach yöntemi ile aktarmaktır. Ancak herhangi bir durumda, verilerinizi tekrardan eski sisteme dönüştürmek zorunda kalabileceğinizi gözönüne alarak, sürüm yükseltme geçişini planlamanız gerekir.
Sürüm yükselttikten sonra, geriye dönmek artık sizin için herhangi bir nedenden dolayı kaçınılmaz oldu ise, sadece SSIS-DTS ve Replication ile veri aktarımı yapabileceğinizi unutmayın