Otomasyon kullanarak veritabanlarını uygun ölçekte geçirme (Önizleme)
Azure Data Studio için Azure SQL Geçişi uzantısı, aşağıdaki özellikleri sunan basitleştirilmiş bir değerlendirme, öneri ve geçiş deneyimini bir araya getirir:
Gelişmiş bir değerlendirme mekanizması SQL Server örneklerini değerlendirerek farklı Azure SQL hedeflerine geçiş için hazır veritabanlarını tanımlayabilir.
Azure SQL hedefinize göre doğru boyutlu SKU önerileri oluşturarak şirket içi kaynak SQL Server örneğinden performans verileri toplayan bir SKU öneri altyapısı (Önizleme).
Sorunsuz bir geçiş deneyimi sunmak için veri taşıma etkinliklerini düzenleyen Azure Veritabanı Geçiş Hizmeti tarafından desteklenen güvenilir bir Azure hizmeti.
İş gereksinimlerinize uyacak şekilde çevrimiçi (minimum kapalı kalma süresi gerektiren geçişler için) veya çevrimdışı (geçişte kapalı kalma süresinin devam ettiği geçişler için) geçiş modları çalıştırabilme.
Şirket içi ortamınızdaki kaynak SQL Server'a ve yedeklemelere erişmek için kendi işleminizi sağlamak üzere şirket içinde barındırılan tümleştirme çalışma zamanı oluşturma ve yapılandırma esnekliği.
PowerShell - Azure DataMigration Hizmeti Modülü veya Azure CLI gibi otomasyon araçlarıyla Azure SQL Geçişi uzantısının özelliklerini Azure Veritabanı Geçiş Hizmeti ile birlikte uygulayarak büyük ölçekte bir veya daha fazla veritabanını (birden çok SQL Server örneğindeki veritabanları dahil) geçirebilirsiniz.
Azure PowerShell veya Azure CLI kullanarak geçiş senaryonuza uyacak şekilde aşağıdaki örnek betiklere başvurulabilir:
Geçiş senaryosu | Betik dili |
---|---|
SQL Server değerlendirmesi | PowerShell / Azure CLI |
Azure SQL Yönetilen Örneği için SQL Server (dosya paylaşımını kullanarak) | PowerShell / Azure CLI |
sql server Azure SQL Yönetilen Örneği (Azure depolama kullanarak) | PowerShell / Azure CLI |
Azure Sanal Makineler'da SQL Server'a SQL Server (dosya paylaşımını kullanarak) | PowerShell / Azure CLI |
Azure Sanal Makineler'da SQL Server'a SQL Server (Azure Depolama kullanarak) | PowerShell / Azure CLI |
SQL Server'ın Azure SQL Veritabanı | PowerShell / Azure CLI |
SKU önerileri (Önizleme) | PowerShell / Azure CLI |
Uçtan Uca geçiş otomasyonu | PowerShell / Azure CLI |
Birden çok veritabanı için Uçtan Uca geçiş otomasyonu | PowerShell / Azure CLI |
Önkoşullar
Azure PowerShell veya Azure CLI kullanılarak desteklenen tüm geçiş senaryolarında ortak olan önkoşullar şunlardır:
Aşağıda listelenen yerleşik rollerden birine atanmış bir Azure hesabı olmalıdır:
Hedef Azure SQL Yönetilen Örneği, Azure Sanal Makineler veya Azure SQL Veritabanı üzerinde SQL Server ve SMB ağ paylaşımından veritabanı yedekleme dosyalarınızı karşıya yüklemek için Depolama Hesabı katkıda bulunanı (Azure SQL Veritabanı için geçerli değildir).
Hedef Azure SQL Yönetilen Örneği, Azure'da SQL Server Sanal Makineler veya Azure SQL Veritabanı içeren Azure Kaynak Grupları için okuyucu rolü.
Azure aboneliği için Sahip veya Katkıda Bulunan rolü.
Azure hesabı yalnızca geçiş adımları çalıştırılırken gereklidir ve değerlendirme veya Azure öneri adımları işlemi için gerekli değildir.
Hedef Azure SQL Yönetilen Örneği, Azure Sanal Makinesinde SQL Server veya Azure SQL Veritabanı oluşturma
Hedefiniz Azure SQL Veritabanı SQL Server dacpac uzantısını veya Azure Data Studio için Projeler uzantısını SQL Veritabanı kullanarak veritabanı şemasını kaynaktan hedefe geçirmeniz gerekir.
Mevcut bir Azure Sanal Makineniz varsa, tam yönetim modunda SQL IaaS Aracısı uzantısına kayıtlı olmalıdır.
Hedefiniz azure sanal makinesinde Azure SQL Yönetilen Örneği veya SQL Server ise, kaynak SQL Server'a bağlanmak için kullanılan oturum açma bilgilerinin sysadmin sunucu rolünün üyesi olduğundan veya izine sahip
CONTROL SERVER
olduğundan emin olun.Hedefiniz Azure SQL Veritabanı, kaynak SQL Server'a bağlanmak için kullanılan oturum açma bilgilerinin bir üye olduğundan ve
db_datareader
hedef SQL sunucusu için ve oturum açma bilgilerinin olduğundandb_owner
emin olun.Tam veritabanı ve işlem günlüğü yedekleme dosyaları için aşağıdaki depolama seçeneklerinden birini kullanın:
SMB ağ paylaşımı
Azure depolama hesabı dosya paylaşımı veya blob kapsayıcısı
Veritabanı yedekleme dosyalarınız bir SMB ağ paylaşımında sağlanıyorsa, DMS hizmetinin veritabanı yedekleme dosyalarını karşıya yüklemesine izin veren bir Azure depolama hesabı oluşturun. Azure Depolama Hesabı'nı Azure Veritabanı Geçiş Hizmeti örneğinin oluşturulduğu bölgede oluşturduğunuzdan emin olun.
Azure depolama hesabı blob kapsayıcısının yalnızca yedekleme dosyalarını depolamak için kullanıldığından emin olun. Diğer tüm dosya türleri (txt, png, jpg vb.) geri yükleme işleminin başarısız olmasına neden olur.
Azure Veritabanı Geçiş Hizmeti herhangi bir yedekleme başlatmaz ve bunun yerine geçiş için olağanüstü durum kurtarma planınızın bir parçası olarak zaten sahip olabileceğiniz mevcut yedeklemeleri kullanır.
Her yedekleme ayrı bir yedekleme dosyasına veya birden fazla yedekleme dosyasına yazılabilir. Ancak, tek bir yedekleme medyasına birden çok yedekleme (tam ve t günlüğü gibi) eklenmesi desteklenmez.
Büyük yedeklemelerin geçirilmesiyle ilgili olası sorunlarla karşılaşma olasılığını azaltmak için sıkıştırılmış yedeklemeleri kullanın.
Kaynak SQL Server örneğini çalıştıran hizmet hesabının veritabanı yedekleme dosyalarını içeren SMB ağ paylaşımında okuma ve yazma izinlerine sahip olduğundan emin olun.
Saydam Veri Şifrelemesi (TDE) tarafından korunan bir veritabanından alınan kaynak SQL Server örneği sertifikası, verileri geçirmeden önce Azure Sanal Makinesi'nin hedef Azure SQL Yönetilen Örneği veya SQL Server'a geçirilmelidir. TDE özellikli veritabanlarını geçirme hakkında daha fazla bilgi için bkz . Öğretici: TDE özellikli veritabanlarını Azure Data Studio'da Azure SQL'e geçirme (önizleme).
İpucu
Veritabanınız Always Encrypted tarafından korunan hassas veriler içeriyorsa, DMS ile Azure Data Studio'yu kullanan geçiş işlemi, Always Encrypted anahtarlarınızı otomatik olarak hedef Azure SQL Yönetilen Örneği veya Azure Sanal Makine'de SQL Server'a geçirir.
Veritabanı yedeklemeleriniz bir ağ dosya paylaşımındaysa, veritabanı yedeklemelerine erişmek ve bu yedeklemeleri geçirmek için şirket içinde barındırılan tümleştirme çalışma zamanını yükleyecek bir makine sağlayın. Azure PowerShell veya Azure CLI modülleri, şirket içinde barındırılan tümleştirme çalışma zamanınızı kaydetmek için kimlik doğrulama anahtarlarını sağlar. Geçişe hazırlanırken, şirket içinde barındırılan tümleştirme çalışma zamanını yüklemeyi planladığınız makinede aşağıdaki giden güvenlik duvarı kurallarının ve etki alanı adlarının etkinleştirildiğinden emin olun:
Etki alanı adları Giden bağlantı noktaları Açıklama Genel Bulut: {datafactory}.{region}.datafactory.azure.net
veya*.frontend.clouddatahub.net
Azure Kamu:{datafactory}.{region}.datafactory.azure.us
Çin:{datafactory}.{region}.datafactory.azure.cn
443 Veri Geçişi hizmetine bağlanmak için şirket içinde barındırılan tümleştirme çalışma zamanı tarafından gereklidir.
Genel bulutta oluşturulan yeni Data Factory için, biçimindeki{datafactory}.{region}.datafactory.azure.net
Şirket İçinde Barındırılan Integration Runtime anahtarınızdan FQDN'yi bulun. Eski Data factory için şirket içinde barındırılan Tümleştirme anahtarınızda FQDN'yi görmüyorsanız bunun yerine *.frontend.clouddatahub.net kullanın.download.microsoft.com
443 Güncelleştirmeleri indirmek için şirket içinde barındırılan tümleştirme çalışma zamanı tarafından gereklidir. Otomatik güncelleştirmeyi devre dışı bırakmışsanız, bu etki alanını yapılandırmayı atlayabilirsiniz. *.core.windows.net
443 Ağ paylaşımınızdan veritabanı yedeklemelerini karşıya yüklemek için Azure depolama hesabına bağlanan şirket içinde barındırılan tümleştirme çalışma zamanı tarafından kullanılır Veritabanı yedekleme dosyalarınız zaten bir Azure depolama hesabında sağlanmışsa, geçiş işlemi sırasında şirket içinde barındırılan tümleştirme çalışma zamanı gerekli değildir.
Şirket içinde barındırılan tümleştirme çalışma zamanını kullanırken, çalışma zamanının yüklü olduğu makinenin kaynak SQL Server örneğine ve yedekleme dosyalarının bulunduğu ağ dosya paylaşımına bağlanadığından emin olun.
Ağ dosya paylaşımına erişmek için giden bağlantı noktası 445 etkinleştirilmelidir.
Azure Veritabanı Geçiş Hizmeti ilk kez kullanıyorsanız Microsoft.DataMigration kaynak sağlayıcısının aboneliğinize kayıtlı olduğundan emin olun. Kaynak sağlayıcısını kaydetmek için adımları izleyebilirsiniz
Geçiş hedefiniz Azure SQL Veritabanı ise, bu geçişi gerçekleştirmek için yedeklere ihtiyacınız yoktur. Azure SQL Veritabanı geçişi, veritabanının önceden oluşturulmasını ve veri taşımasını (DMS tarafından gerçekleştirilir) içeren mantıksal bir geçiş olarak kabul edilir.
Veritabanı geçişlerini otomatikleştirme
Azure PowerShell Az.DataMigration veya Azure CLI az datamigration kullanarak, Azure Veritabanı Geçiş Hizmeti oluşturma işlemini otomatikleştirerek, çevrimiçi geçiş için veritabanı geçişlerini yapılandırarak ve tam geçiş gerçekleştirerek veritabanlarını geçirebilirsiniz. Azure Örnekleri'nde belgelenen birkaç komut ve işlev daha vardır.
Azure CLI kullanarak SQL Server veritabanının geçişini otomatikleştirme örneği: 1. Adım: Veritabanınızın geçiş etkinliklerini düzenleyecek Azure Veritabanı Geçiş Hizmeti oluşturma.
#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --location "EastUS2"
2. Adım: Şirket içi SQL Server'dan (Azure depolamadaki yedeklemelerle) Azure SQL Yönetilen Örneği çevrimiçi veritabanı geçişlerini yapılandırın ve başlatın.
#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="<password>" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI
3. Adım: Tüm yedeklemeler Azure SQL Yönetilen Örneği geri yüklendikten sonra tam geçiş gerçekleştirin.
#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId
"Abonelik 'Microsoft.DataMigration' ad alanını kullanacak şekilde kaydedilmedi" hatasını alırsanız. Aboneliklerin nasıl kaydedildiğini görün https://aka.ms/rps-not-found ", aşağıdaki komutu çalıştırın:
Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"