SQL Server’ da Detach – Attach İşlemleri. Merhaba, bu yazımda SQL Serverda veri tabanımızı farklı sunuculara taşımamız gerektiğinde ya da farklı sunuculardaki veri tabanlarını listemize almak istediğimizde nasıl bir yol izlememiz gerektiğini anlatacağım.
Öncelikle bir veri tabanını taşımanın birden fazla yolu var. Bunlar: Detach-Attach, Restore, Backup yöntemleridir.
Neden Veri Tabanını Taşırız?
- Sunucularımızda kaynak yetersizliğimiz olabilir.
- Sürüm yükseltmemiz gerekebilir.
- Domain değişikliği olabilir.
İlk olarak “Uygulama” isimli bir veri tabanı oluşturalım. İşlemlerimizi bu veri tabanı üzerinden yürüteceğiz.
CREATE DATABASE Uygulama
Sorgumuz ile veri tabanımızın nerede tutulduğunu bulalım.
USE Uygulama GO EXEC sp_helpfile
DETACH İşlemi
Detach İşlemi, ilgili veri tabanımızı listeden çıkarmak yani taşımak istediğimizde Detach bize yardımcı oluyor.
Soldaki veri tabanı listemizden Uygulama isimli veri tabanımızın üzerine gelip sağ tık >Tasks >Detach yolunu izleyeceğiz.
Karşımıza gelen panelde Message alanında “Active Connections” yazıyor. Yani bir aktif bağlantı olduğunu söylüyor. Biz de DropConnections alanındaki tiki işaretleyeceğiz ki bu aktif bağlantıyı silsin. Gerekli ayarlamalarımızı yaptık. OK demeden önce Script’e tıklayıp T-SQL sorgumuzu alıp ardından OK diyelim.
T-SQL sorgusu ile yapmak isterseniz aşağıdaki sorguyu kullanabilirsiniz.
use [master]; GO USE [master] GO ALTER DATABASE [Uygulama] SET SINGLE_USER WITH ROLLBACK IMMEDIATE GO USE [master] GO EXEC master.dbo.sp_detach_db @dbname = N'Uygulama' GO
ATTACH İşlemi
Attach İşlemi, Listeden çıkarttığımız veri tabanını geri listemize eklemek istediğimizde Attach bize yardımcı oluyor.
Detach işleminden farklı olarak ilgili veri tabanına sağ tık yaparak değil. Databases > Attach kısmından ulaşıyoruz.
Gelen panelde Add butonuna tıklıyoruz. Açılan panelde .mdf uzantılı var olan veri tabanı dosyalarımız gelecek. Bizim listeden çıkardığımız veri tabanı “Uygulama.mdf” uzantısıyla burada görünüyor. Seçip OK diyoruz. Paneli kapatmadan önce Script’e tıklayıp T-SQL sorgumuzu alıp ardından OK diyelim.
Not: .mdf uzantılı dosyalar Microsoft SQL Server tarafından kullanılan bir ana veri tabanı dosyasıdır.
T-SQL sorgusu ile yapmak isterseniz aşağıdaki sorguyu kullanabilirsiniz.
USE [master] GO CREATE DATABASE [Uygulama] ON ( FILENAME = N'D:\MSSQL15.MSSQLSERVER\MSSQL\DATA\Uygulama.mdf' ), ( FILENAME = N'D:\MSSQL15.MSSQLSERVER\MSSQL\DATA\Uygulama_log.ldf' ) FOR ATTACH GO
Bu yazımda, veri tabanımızı neden farklı sunucular üzerinde taşıma gereksinimimiz olduğunu ve listeden çıkarttığımız veri tabanını ihtiyaçlarımız doğrultusunda geri yüklemek istediğimizde bunun Detach – Attach işlemleri ile ne kadar kolay yapılabildiğini gördük.
0 Yorum