0Pricing
Cloud & IT Cert Prep · Ders

Veritabanı Geçişi için En İyi Uygulamalar

Azure Database Migration Service’i kullanarak bir SQL Server veritabanını en az kesintiyle Azure SQL’e geçirin ve yaygın şema ile uyumluluk sorunlarını çözün.

Veritabanı Geçişi için En İyi Uygulamalar, CoddyKit'te ücretsiz bir Cloud & IT Cert Prep dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Cloud & IT Cert Prep öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

Veritabanı Geçişi Neden Farklıdır

Veritabanları durum bilgili olduğundan ve genellikle 7/24 etkin bağlantılara sahip olduğundan, bir veritabanını geçirmek VM'yi taşımaktan daha karmaşıktır. Basit bir kopyala ve geri yükle yaklaşımı saatlerce kesinti gerektirir; bu da üretim sistemleri için kabul edilemez. Veritabanı geçişinde en iyi uygulama, hedef doğrulanırken kaynak ile hedefi eşitlenmiş halde tutmak için sürekli veri çoğaltması kullanmak ve ardından trafiğin yeni Azure veritabanına yönlendirildiği kısa, planlı bir geçiş gerçekleştirmektir.

Azure Veritabanı Geçiş Hizmeti

Azure Database Migration Service (DMS), yaygın şirket içi altyapılardan Azure tarafından yönetilen veritabanı hizmetlerine çevrim içi (neredeyse sıfır kesintili) ve çevrim dışı (kesintiye dayalı) geçişleri düzenleyen, tamamen yönetilen bir hizmettir. DMS; SQL Server, MySQL, PostgreSQL, MongoDB, Oracle gibi kaynakları ve Azure SQL Database, Azure SQL Managed Instance, Azure Database for MySQL ve Azure Cosmos DB gibi hedefleri destekler. Hizmet, geçiş öncesi uyumluluk kontrolleri için Data Migration Assistant (DMA) ile tümleşir.

# Create a DMS instance
az dms create \
  --service-name myDMS \
  --resource-group myRG \
  --location eastus \
  --sku-name Premium_4vCores \
  --vnet myVnet \
  --subnet mySubnet

DMA ile Geçiş Öncesi Değerlendirme

SQL Server geçişinden önce kaynak veritabanında Data Migration Assistant (DMA) çalıştırın. DMA şunları belirler: uyumluluk sorunları (veritabanınızda kullanılan ve Azure SQL hedefi tarafından desteklenmeyen özellikler), bozucu değişiklikler, kullanımdan kaldırılmış özellikler ve performans önerileri. Sorunları önem derecesine göre önceliklendiren ayrıntılı bir HTML raporu oluşturur; böylece ekibiniz geçiş penceresi başlamadan önce bunları düzeltebilir.

# Run DMA assessment from CLI (Windows only)
# DmaCmd.exe /AssessmentName='SQL2022toAzureSQL' \
#   /AssessmentSourcePlatform='SqlOnPrem' \
#   /AssessmentTargetPlatform='AzureSqlDatabase' \
#   /AssessmentDatabases='Server=myServer;Initial Catalog=AdventureWorks;Integrated Security=true'

Çevrim İçi ve Çevrim Dışı Geçiş

Çevrim dışı geçiş, geçiş süresince kaynak veritabanını çevrim dışına çıkarır — bakım penceresinin uygulanabildiği küçük veritabanları veya kritik olmayan sistemler için kabul edilebilir. Çevrim içi geçiş, yeni veritabanı yüklenirken değişiklikleri sürekli çoğaltmak için değişiklik verisi yakalama (CDC) veya işlem günlüğü aktarımı kullanır ve kesintiyi yalnızca son geçiş adımına indirir. Çevrim içi geçiş, 1 GB'tan büyük veya 1 saatten az kesinti gerektiren SLA'lara sahip veritabanları için önerilir.

DMS Geçiş Projesini Yapılandırma

Bir DMS geçiş projesi kaynak bağlantısını (sunucu adı, kimlik doğrulama, veritabanı adları), hedef bağlantısını (Azure SQL bağlantı dizesi) ve geçiş modunu (çevrim içi veya çevrim dışı) belirtir. Ayrıca hangi veritabanlarının ve tabloların geçirileceğini seçersiniz. DMS başlamadan önce bağlantıyı doğrular. Geçiş projesi Azure portalında kalıcı olarak saklanır; böylece ilerlemeyi izleyebilir, başarısız tabloları yeniden deneyebilir ve ayrıntılı etkinlik günlüklerini görüntüleyebilirsiniz.

# Create a DMS project for SQL Server to Azure SQL Database
az dms project create \
  --service-name myDMS \
  --resource-group myRG \
  --name SQL2AzureSQL \
  --source-platform SQL \
  --target-platform SQLDB \
  --location eastus

Önce Şema Geçişi

Her zaman verilerden önce şemayı geçirin. Tabloları, görünümleri, saklı yordamları, işlevleri ve dizinleri hedef Azure SQL Database'e betik olarak aktarmak ve dağıtmak için DMA veya SQL Server Management Studio (SSMS) kullanın. DMS veri aktarımını başlatmadan önce tüm şema nesnelerinin mevcut olduğunu ve hatasız derlendiğini doğrulayın. Geçişin ortasında keşfedilen şema hataları geçiş çalışmasını bozabilir ve işlemi baştan başlatmanızı gerektirebilir.

# Generate schema scripts using sqlpackage
sqlpackage /Action:Script \
  /SourceServerName:myOnPremServer \
  /SourceDatabaseName:AdventureWorks \
  /TargetServerName:mysqlserver.database.windows.net \
  /TargetDatabaseName:AdventureWorksAzure \
  /OutputPath:/tmp/schema.sql

İlk Veri Yüklemesi

DMS, kaynak veritabanını tablo tablo okuyup satırları toplu ekleme kullanarak Azure SQL hedefine yazarak tam veri yüklemesi gerçekleştirir. Tam yükleme sırasında hizmet, büyük tabloları parçalara ayırarak toplu işler hâlinde işler. Hedefteki dizinler, aktarım sırasında aktarım hızını en üst düzeye çıkarmak için devre dışı bırakılır ve ardından yeniden oluşturulur. Çok büyük veritabanlarında (TB ölçeğinde) verileri önceden yüklemek ve DMS çalışma süresini azaltmak için Azure Data Factory veya bacpac dışa aktarımlarını kullanmayı değerlendirin.

Çevrimiçi Eşitleme için Değişiklik Verisi Yakalama

Çevrimiçi geçişlerde DMS, tam yükleme devam ederken gerçekleşen INSERT, UPDATE ve DELETE işlemlerini yakalamak için kaynakta SQL Server Change Data Capture (CDC) özelliğini etkinleştirir. Tam yükleme tamamlandığında DMS, yakalanan bu değişiklikleri hedefe yeniden uygulayarak aradaki farkı kademeli olarak kapatır. Gecikme neredeyse sıfıra düştüğünde veritabanı geçiş için hazırdır. CDC'nin çalışması için SQL Server Agent'ın çalışıyor olması ve kaynak veritabanının full recovery modunda bulunması gerekir.

-- Enable CDC on source database
EXEC sys.sp_cdc_enable_db;

-- Enable CDC on specific table
EXEC sys.sp_cdc_enable_table
  @source_schema = N'dbo',
  @source_name = N'Orders',
  @role_name = NULL;

Geçiş ve Doğrulama

CDC gecikmesi en düşük düzeye ulaştığında DMS portalında geçişi başlatın. DMS yeni CDC olaylarını kabul etmeyi durdurur, kalan değişiklikleri uygular ve geçişi tamamlandı olarak işaretler. Bu noktada uygulamanın bağlantı dizelerini Azure SQL uç noktasına yönlendirin. Kritik tablolar için kaynak ve hedef arasındaki satır sayılarını ve sağlama toplamı değerlerini karşılaştıran veri doğrulama sorgularını çalıştırın. Geri alma gerekebileceği için geçişten sonra 24–48 saat boyunca kaynak veritabanını salt okunur modda tutun.

-- Validate row counts post-cutover
SELECT TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'dbo'
ORDER BY TABLE_NAME;

Geçiş Sonrası Performans Ayarlama

Azure SQL Database, farklı sorgu planı önbellekleri, istatistikler ve donanım nedeniyle geçiş öncesindeki SQL Server'dan farklı performans gösterebilir. İş yükü izlerini Azure hedefinde yeniden yürütmek ve yürütme planlarını karşılaştırmak için Database Experimentation Assistant (DEA) aracını çalıştırın. Hizmetin dizinleri otomatik olarak oluşturmasına veya kaldırmasına ve gerilemeye yol açmayan sorgu planlarını zorlamasına izin vermek için Azure SQL'de Automatic Tuning özelliğini etkinleştirin. Böylece elle müdahale etmeden performans zaman içinde iyileştirilir.

-- Enable Automatic Tuning on Azure SQL Database
ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
  FORCE_LAST_GOOD_PLAN = ON,
  CREATE_INDEX = ON,
  DROP_INDEX = OFF
);

Diğer Veritabanı Altyapılarının Geçişi

DMS, açık kaynaklı altyapıları da geçirir: MySQL'i Azure Database for MySQL'e mysqldump + binlog replication modeliyle, PostgreSQL'i ise mantıksal çoğaltma yuvalarını kullanarak Azure Database for PostgreSQL'e geçirir. MongoDB'den Cosmos DB'ye geçişlerde, Cosmos DB for MongoDB API'sini ve yerel mongodump / mongorestore işlem hattını veya artımlı CDC için Azure Data Factory'nin MongoDB bağlayıcısını kullanın. Canlı veriler üzerinde çalıştırmadan önce geçişi her zaman üretim dışı bir kopya üzerinde test edin.

# Offline MySQL migration using mysqldump
mysqldump -h source-server -u admin -p \
  --single-transaction --routines --triggers \
  myDatabase > /tmp/myDatabase.sql

# Restore to Azure Database for MySQL
mysql -h myserver.mysql.database.azure.com \
  -u adminUser@myserver -p myDatabase < /tmp/myDatabase.sql

Hızlı Kontrol

Bu dersteki Microsoft Azure Fundamentals (AZ-900) kavramlarını anlayıp anlamadığınızı test edin.

Ders Özeti

Bu derste şunları öğrendiniz: Azure Database Migration Service, çevrimiçi ve çevrimdışı veritabanı geçişlerini düzenler; DMA ile geçiş öncesi değerlendirme, geçiş penceresinden önce uyumluluk sorunlarını ortaya çıkarır ve değişiklik verisi yakalama, üretim veritabanlarında neredeyse sıfır kesintiyle geçiş yapılmasını sağlar. Sırada Azure maliyetlerini iyileştirmeye odaklanacağız.

Sıkça Sorulan Sorular

“Veritabanı Geçişi için En İyi Uygulamalar” dersi ücretsiz mi?

Evet — “Veritabanı Geçişi için En İyi Uygulamalar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Cloud & IT Cert Prep kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Cloud & IT Cert Prep kursu toplamda 4 dersten oluşur.

“Veritabanı Geçişi için En İyi Uygulamalar” dersinde ne öğreneceğim?

Azure Database Migration Service’i kullanarak bir SQL Server veritabanını en az kesintiyle Azure SQL’e geçirin ve yaygın şema ile uyumluluk sorunlarını çözün. Cloud & IT Cert Prep ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Cloud & IT Cert Prep öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Cloud & IT Cert Prep, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Veritabanı Geçişi için En İyi Uygulamalar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Cloud & IT Cert Prep dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Cloud & IT Cert Prep dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. 6-R Geçiş Çerçevesi
  2. Azure Migrate: Keşif ve Değerlendirme
  3. Azure Migrate ile Yeniden Barındırma (Taşı ve Değiştir)
  4. Veritabanı Geçişi için En İyi Uygulamalar
← Cloud & IT Cert Prep Sayfasına Dön