Giriş
SQL Server veritabanlarını Azure ortamına taşımak, modern bulut stratejilerinin önemli bir bileşenidir. Azure Arc destekli göç çözümü, Temmuz 2026 itibarıyla Azure Sanal Makineleri (Azure VM) hedefini genel kullanılabilir (GA) olarak desteklemektedir. Bu özellik, mevcut Azure SQL Yönetilen Örnek seçeneğine ek bir hedef sunarken, tüm göç yaşam döngüsünü Azure portalında tek bir kılavuzlu iş akışı altında birleştirmektedir.
Göç yöntemi, yedekleme/restore ve log shipping tekniklerinin birleşimine dayanır. Bu süreçte, Azure Blob Storage ara katman olarak kullanılır. Bu makalede, özelliklerin neler sunduğu, gereksinimler, göçün nasıl gerçekleştiği ve sınırlamalar detaylı olarak açıklanmaktadır.
Zorluk Seviyesi
Intermediate: Bu makale, SQL Server yönetimi ve Azure hizmetleri hakkında temel bilgiye sahip olan kullanıcılar için uygundur. Göç süreci, hem yerel hem de bulut ortamında SQL Server yönetimini gerektirir.
Ön Gereksinimler
Aşağıdaki koşulların sağlandığından emin olunuz:
-
Azure Ortamı:
- Azure hesabı ve Azure Arc için uygun izinlere sahip bir abonelik.
- Azure Portal erişimi ve Azure Resource Manager yetkileri.
-
Kaynak Sunucu (Göç edilen SQL Server):
- SQL Server 2012 veya daha yeni bir sürüm.
- Windows Server 2012 R2 veya daha yeni bir sürüm.
- Azure Blob Storage erişimi için gereken ağ izinleri.
- SQL Server Agent hizmetinin çalışır durumda olması (log shipping için).
-
Hedef Ortam (Azure VM):
- Azure Sanal Makine üzerinde SQL Server kurulu olması (aynı veya daha yeni bir sürüm).
- Azure VM'de Azure Arc bağlantısının kurulmuş olması.
- Azure VM'de Azure Blob Storage erişimi için gereken izinler.
-
Diğer Gereksinimler:
- Azure CLI veya Azure PowerShell modüllerinin yüklenmiş olması.
- Azure Blob Storage için bir Storage Account ve Container oluşturulmuş olması.
- Göç edilecek veritabanlarının full recovery model kullanması önerilir.
⚠️ Önemli Uyarı: Göç işlemine başlamadan önce, tüm veritabanlarının yedeklendiğinden ve hedef ortamda gerekli SQL Server yapılandırmasının tamamlandığından emin olunuz. Veri kaybı riskini minimize etmek için, göç süreci boyunca test ortamında denemeler yapılması önerilir.
Göç Süreci: Adım Adım
1. Azure Arc Bağlantısının Kurulması
Azure Arc, SQL Server'ın Azure ortamıyla entegrasyonunu sağlayan bir hizmettir. Aşağıdaki adımları izleyerek Azure Arc bağlantısını kurunuz:
-
Azure Portal üzerinde Azure Arc hizmetine gidiniz.
-
Aşağıdaki komutu kullanarak Azure CLI ile SQL Server makinenizi Azure Arc'a kaydediniz:
az connectedmachine connect --name "KaynakSQLSunucu" --resource-group "KaynakGrubu" --location "eastus" --subscription "AboneKimliği" --tags "Environment=Production" -
Bağlantının başarılı olup olmadığını doğrulamak için aşağıdaki komutu çalıştırınız:
az connectedmachine list --resource-group "KaynakGrubu"
2. Azure Blob Storage Hazırlığı
Göç sürecinde Azure Blob Storage, ara katman olarak kullanılır. Aşağıdaki adımları izleyerek Storage Account ve Container oluşturunuz:
-
Azure Portal üzerinde Storage Account oluşturunuz.
-
Aşağıdaki komutla bir Container oluşturunuz:
az storage container create --name "sqlmigration" --account-name "storagehesapadı" --auth-mode login -
Container'a erişim için gerekli SAS Token'ı oluşturunuz:
az storage container generate-sas --name "sqlmigration" --account-name "storagehesapadı" --permissions "rwdl" --expiry "2026-12-31T23:59:59Z"
3. SQL Server Yedekleme ve Restore Hazırlığı
Göç süreci, yedekleme/restore ve log shipping tekniklerini içerir. Aşağıdaki adımları izleyiniz:
-
Kaynak Sunucu üzerinde aşağıdaki komutla full yedekleme oluşturunuz:
BACKUP DATABASE [VeritabanıAdı] TO DISK = 'C:\Backups\VeritabanıAdı_Full.bak' WITH COMPRESSION, STATS = 10 -
Yedekleme dosyasını Azure Blob Storage'a kopyalayınız. Bunu yapmak için aşağıdaki AzCopy komutunu kullanınız:
azcopy copy "C:\Backups\VeritabanıAdı_Full.bak" "https://storagehesapadı.blob.core.windows.net/sqlmigration/VeritabanıAdı_Full.bak?SAS_TOKEN" --recursive -
Hedef Sunucu (Azure VM) üzerinde yedekleme dosyasını indiriniz ve restore ediniz:
RESTORE DATABASE [VeritabanıAdı] FROM DISK = 'C:\Temp\VeritabanıAdı_Full.bak' WITH MOVE 'VeritabanıAdı_Data' TO 'C:\SQLData\VeritabanıAdı.mdf', MOVE 'VeritabanıAdı_Log' TO 'C:\SQLLogs\VeritabanıAdı.ldf', REPLACE, STATS = 10
4. Log Shipping ile Sürekli Veri Senkronizasyonu
Log shipping, sürekli veri senkronizasyonunu sağlamak için kullanılır. Aşağıdaki adımları izleyiniz:
-
Kaynak Sunucu üzerinde transaction log yedekleme planı oluşturunuz:
BACKUP LOG [VeritabanıAdı] TO DISK = 'C:\Backups\VeritabanıAdı_Log.trn' WITH NORECOVERY, STATS = 10 -
Log dosyasını Azure Blob Storage'a kopyalayınız:
azcopy copy "C:\Backups\VeritabanıAdı_Log.trn" "https://storagehesapadı.blob.core.windows.net/sqlmigration/VeritabanıAdı_Log.trn?SAS_TOKEN" --recursive -
Hedef Sunucu üzerinde log restore işlemini gerçekleştiriniz:
RESTORE LOG [VeritabanıAdı] FROM DISK = 'C:\Temp\VeritabanıAdı_Log.trn' WITH NORECOVERY, STATS = 10 -
Senkronizasyonu tamamlamak için RECOVERY modunda restore işlemini gerçekleştiriniz:
RESTORE DATABASE [VeritabanıAdı] WITH RECOVERY
5. Azure Portal Üzerinde Göç Sürecinin Tamamlanması
Azure Portal'da göç sürecini tamamlamak için aşağıdaki adımları izleyiniz:
-
Azure Portal üzerinde Azure Arc hizmetine gidiniz ve göç edilecek SQL Server'ı seçiniz.
-
Migration sekmesine giderek Create Migration butonuna tıklayınız.
-
Göç için gerekli bilgileri giriniz (örneğin, hedef Azure VM, veritabanı adı, Storage Account vb.).
-
Azure Portal, otomatik olarak göç sürecini başlatacak ve ilerlemeyi görüntüleyecektir.
Sınırlamalar ve Dikkat Edilmesi Gerekenler
Aşağıdaki sınırlamalar ve dikkat edilmesi gereken noktalar göç sürecinde önemlidir:
- Veri Boyutu: Büyük veritabanları için göç süresi artabilir. Bu durumda, göç sürecini optimize etmek için veri bölme veya daha yüksek bant genişliği kullanılması önerilir.
- SQL Server Sürümü: Kaynak ve hedef SQL Server sürümleri arasında uyumluluk sorunları olabilir. Örneğin, SQL Server 2012'den 2022'ye göç yaparken, bazı özelliklerin uyumlu olmadığı durumlar olabilir.
- Log Shipping Süreci: Log shipping süreci, sürekli veri senkronizasyonunu gerektirir. Ağ sorunları veya Storage Account'a erişim problemleri, senkronizasyonu etkileyebilir.
- Güvenlik: Azure Blob Storage'a erişim için kullanılan SAS Token'ların süresi dolmadan yenilenmesi gerekmektedir. Aksi takdirde, göç süreci kesintiye uğrayabilir.
💡 İpucu: Göç süreci boyunca Azure Monitor ve Azure Log Analytics kullanarak süreci izleyiniz. Bu sayede, olası hatalar veya performans sorunları hızlıca tespit edilebilir.
Sonuç
Azure Arc destekli SQL Server göçü, SQL Server veritabanlarını Azure Sanal Makinelerine taşımak için güvenilir ve yönetilebilir bir yöntem sunmaktadır. Yedekleme/restore ve log shipping tekniklerinin birleşimi sayesinde, verilerinizi kesintisiz bir şekilde bulut ortamına aktarabilirsiniz. Bu süreç, Azure portalında tek bir kılavuzlu iş akışı altında gerçekleştiği için kullanıcı dostudur ve yönetimi kolaydır.
Göç sürecine başlamadan önce, tüm gereksinimleri karşıladığınızdan ve gerekli testleri yaptığınızdan emin olunuz. Bu sayede, veri kaybı riskini minimize edebilir ve sorunsuz bir göç deneyimi yaşayabilirsiniz.



