SQL Server Database Attach ve Detach Etme (Veritabanı Ekleme ve Çıkarma)

Microsoft SQL Server kullanarak veritabanlarının oluşturulması ve yönetimini kolay bir şekilde yapabilmekteyiz. Pratikte SQL Server kullanılarak yeni veritabanı oluşturulması ve bu veritabanı üzerinden işlemlerin yapılması kadar, daha önceden oluşturulmuş, içerisinde nesneleri barındıran hazır bir veritabanını SQL Server yönetimine dahil etmek de büyük bir ihtiyaç olarak karşımıza çıkmaktadır. Bu makalemizde daha önceden kendi local makinemizde veya başka bir makinede oluşturulmuş, içerisinde table, stored procedure, trigger, function, view vs. gibi database nesnelerini barındırabilen hazır bir veritabanını SQL Server instance ımızın kullanımına nasıl dahil edebileceğimizi ve artık kullanımını SQL Server instance ımızdan çıkarmak istediğimiz bir database i nasıl çıkarabileceğimizi inceleyeceğiz.

Öncelikle SQL Server yönetimine dahil etmek istediğimiz veritabanına ait Data (.mdf) ve varsa Log (.ldf) dosyalarını kopyalayalım.

AdvFiles

Örneğimizde AdventureWorks2012 database ine ait AdventureWorks2012.mdf ve AdventureWorks2012.ldf dosyalarını kopyaladık ve SQL Server a iat DATA dosyalarının tutulduğu,

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA klasörü altına yapıştırıyoruz.

DBPath

Bu işlemin ardından SQL Server Management Studio aracını açarak ilgili instance ımıza bağlanalım. Ardından sol tarafta bulunan Object Explorer bölümündeki Databases sekmesinin üzerinde sağ tıklayalım. Karşımıza çıkan menüden Attach bölümüne tıklayalım.

Screenshot (8)

Karşımıza gelecek olan Attach Database ekranında Add butonuna tıklayalım.

Attach1

Az önce dosyalarını yapıştırdığımız AdventureWorks2012 veritabanını seçelim ve OK diyelim.

Attach2

Bu işlemin ardından varsa log dosyasını SQL Server data dosyasına dahil edecektir, log dosyası yok ise SQL Server yeni bir log dosyası oluşturacaktır. OK diyerek ekranda işimiz bittiğinde SQL Server yönetimine AdventureWorks2012 database inin dahil edildiğini görebilirsiniz.

Screenshot (9)

Son olarak SQL Server yönetiminde olan bir database in server kontrolünden nasıl çıkartılacağına bakalım. Bu işlem için SQL Server yönetiminden ayırmak istediğimiz veritabanının üzerinde sağ tıklayarak Tasks –> Detach bölümüne tıklıyoruz.

Screenshot (10)

Karşımıza gelen Detach Database ekranında Ok diyerek veritabanını SQL Server yönetiminden çıkartabiliyoruz.

Detach

Görüldüğü gibi Database Attach ve Detach işlemleri oldukça kolay bir şekilde grafik arayüz üzerinden gerçekleştirilebiliyor. Konu ile ilgili olarak varsa görüş, öneri ve yorumlarınızı ekleyebilirseniz çok memnun olurum. Bir sonraki yazıda görüşmek üzere…

Yazar: Abdullah ALTINTAŞ

SQL Server Configuration Manager Services Hatası

Microsoft SQL Server kurulumu ile beraber gelen toollardan biri olan SQL Server Configuration Manager ile SQL Server instance larımızı ve ilgili SQL Server Service‘lerimizin yönetimini ve gerekli ayarlamaları rahatlıkla yapabilmekteyiz. SQL Server Configuration Manager instance seviyesinde ilgili servislerin durdurulmasını veya restart edilmesini rahatlıkla yapabileceğimiz ve daha birçok özelliği olan bir araç olarak karşımıza çıkıyor.

Ancak bazı durumlarda SQL Server Configuration Manager toolu açıldığında SQL Server Services sekmesi tıklandığında makinemizde kurulu olan instance larımızı ve onlara ait sql service lerimizi göremeyebiliriz. Karşımıza Sql Server Service listesi yerine bir hata mesajı (The remote procedure call failed [0x800706be]) çıkabilir. Bu hata mesajının çıkma sebeplerinden birisi makinemizde var olan bir SQL Server instance ımızdan farklı bir versiyonda (üst veya alt versiyon) yeni bir SQL Server instance ını kurmamız ve SQL Server Configuration Manager tarafından ilgili servislerin algılanamaması olabilir. Örneğin makinemizde SQL Server 2008 R2 kurulu iken SQL Server 2012 kurulumu yaptığımızda ve kurulumdan sonra SQL Server Configuration Manager‘ı çalıştırdığımızda karşımıza aşağıdaki gibi bir hata çıkabilir.

ConfigERR

Böyle bir sorun ile karşılaşmanız durumunda ilk bakmanız gereken yer SQL Server Configuration Manager aracının hangi versiyondaki sürümü default olarak kullandığı olacaktır. Bu işlemi gerçekleştirebilmek için SQL Server Configuration Manager aracı üzerinde sağ tıklayarak Open File Location (Dosya Yolunu Aç) kısmına tıklamamız gerekmektedir. Açılan dosya yolunda SQL Server Configuration Manager kısayolu üzerinde sağ tıklayıp Properties (Özellikler) bölümüne tıklamamız gerekmektedir. Açılan pencerede Shortcut sekmesinde Target (Hedef) bölümünde okunacak dosya yolu bulunmaktadır. Bu kısımda kullanmakta olduğunuz SQL Server versiyonlarına bağlı olarak SQL Server Configuration Manager sürümleri bulunmaktadır. Benim makinemde hem SQL Server 2012 hem de SQL Server 2008 R2 versiyonları kurulu olarak bulunmakta. Dolayısıyla Target kısmındaki dosya yolunda,

C:\Windows\SysWOW64\mmc.exe /32 C:\Windows\SysWOW64\SQLServerManager10.msc

gibi bir hedef bulunuyor. Bu kısımdaki dosya yolunu SQL Server 2012 için gelen SQLServerManager11.msc olarak değiştirildiğinde sorun ortadan kalkacaktır. SQL Server 2012 için Target kısmındaki dosya yolu;

C:\Windows\SysWOW64\mmc.exe /32 C:\Windows\SysWOW64\SQLServerManager11.msc

olarak değiştirilmelidir. Bu değişikliğin ardından SQL Server Configuration Manager tekrar açıldığında sorunun ortadan kalktığını göreceksiniz. Eğer hala aynı sorun ile karşılaşıyorsanız kullanmakta olduğunuz SQL Server versiyonları için güncel Service Pack paketlerini indirip kurmanız sorununuzun çözümünü sağlayabilir. Microsoft SQL Server‘a ait versiyonların ilgili service packlerini aşağıdaki linklerden indirip kurulumunu yapabilirsiniz.

  • Microsoft SQL Server 2012 Service Pack 1 (SP1)

http://www.microsoft.com/en-us/download/details.aspx?id=35575

  • Microsoft SQL Server 2008 R2 Service Pack 2 (SP2)

http://www.microsoft.com/en-us/download/details.aspx?id=30437

  • Microsoft SQL Server 2008 Service Pack 3 (SP3)

http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=27594

  • Microsoft SQL Server 2005 Service Pack 4 (SP4 RTM)

http://www.microsoft.com/en-us/download/details.aspx?id=7218

  • Microsoft SQL Server 2000 Service Pack 4 (SP4)

http://www.microsoft.com/en-us/download/details.aspx?id=18290

Makinemizde bulunan versiyonlara ait service packlerin indirilmesinin ardından kurulum işlemine başlayabilirsiniz. Örneğimizde SQL Server 2008 R2 Service Pack 2 kurulumu yapılmaktadır. Kuruluma başlarken kurulum için gerekliliklerin kontrolü yapılmaktadır;

SPc1

Ardından lisans anlaşmasının kabul edilmesi ve hangi özelliklerin yükleneceğinin belirlenmesinin ardından kurulum için gerekli olan dosyaların kontrolü yapılacaktır;

SPC2

Bir sonraki adımda SQL Server service pack kurulumunun ardından nelerin yüklenmiş olacağı ile ilgili bir özet bilgi ekranı çıkmaktadır ve bir sonraki adımda Service Pack kurulumu yapılacaktır.

SPC4

Kurulum tamamlandığında artık SQL Server Configuration Manager aracını açıp hatanın düzelip düzelmediğini kontrol edebilirsiniz.

conf2

Ekranda gördüğünüz gibi SQL Server 2008 R2 Service Pack 2 kurulumunun ardından SQL Server Configuration Manager aracında SQL Server Services sekmesinde çıkan hatanın (The remote procedure call failed [0x800706be]) kaybolduğunu ve onun yerine artık yüklü olan service lerimizin göründüğünü görebilirsiniz.

Bu makalenin ele alınmasında bana destek veren arkadaşım Ali Batuhan Karaçoban’a da buradan teşekkürlerimi sunarım.

Konu hakkındaki düşüncelerinizi, yorum ve görüşlerinizi iletirseniz çok memnun olurum. Bir sonraki yazıda görüşmek dileğiyle.

Yazar: Abdullah ALTINTAŞ