Azure Synapse Analytics'te ayrılmış SQL havuzunu (eski adı SQL DW) yükselterek performansı iyileştirme

Ayrılmış SQL havuzunuzu (eski adıYLA SQL DW) en son nesil Azure donanım ve depolama mimarisine yükseltin.

Neden yükseltin?

Artık desteklenen bölgeler için Azure portalında ayrılmış SQL havuzuna (eski adı SQL DW) İşlem için İyileştirilmiş 2. Nesil katmanına sorunsuz bir şekilde yükseltebilirsiniz. Bölgeniz kendi kendine yükseltmeyi desteklemiyorsa desteklenen bir bölgeye yükseltebilir veya kendi kendine yükseltmenin bölgenizde kullanılabilir olmasını bekleyebilirsiniz. Daha hızlı performans, daha yüksek ölçeklenebilirlik ve sınırsız sütunlu depolama dahil olmak üzere en son nesil Azure donanımından ve gelişmiş depolama mimarisinden yararlanmak için şimdi yükseltin.

Önemli

Bu yükseltme, desteklenen bölgelerdeki İşlem için İyileştirilmiş 1. Nesil katmanı ayrılmış SQL havuzları (eski adı SQL DW) için geçerlidir.

Başlamadan önce

  1. Bölgenizin 1. NESIL'e 2. NESIL geçişi için desteklenip desteklenmediğini denetleyin. Otomatik geçiş tarihlerini not edin. Otomatik işlemle çakışmaları önlemek için, otomatik işlem başlangıç tarihinden önce el ile geçişinizi planlayın.

  2. Henüz desteklenmeyen bir bölgedeyseniz, desteklenen bir bölgeye geri yükleme kullanarak bölgenizin eklenip eklenmediğini denetlemeye veya yükseltmeye devam edin.

  3. Bölgeniz destekleniyorsa Azure portalı üzerinden yükseltme yapın

  4. Aşağıdaki eşlemeyi kullanarak İşlem için İyileştirilmiş 1. Nesil katmanındaki geçerli performans düzeyinize göre ayrılmış SQL havuzu (eski adı SQL DW) için önerilen performans düzeyini seçin:

    İşlem için İyileştirilmiş 1. Nesil katmanı İşlem için İyileştirilmiş 2. Nesil katmanı
    DW100 DW100c
    DW200 DW200c
    DW300 DW300c
    DW400 DW400c
    DW500 DW500c'yi seçin
    DW600 DW500c'yi seçin
    DW1000 DW1000c
    DW1200 DW1000c
    DW1500 DW1500c
    DW2000 DW2000c
    DW3000 DW3000c
    DW6000 DW6000c

Not

Önerilen performans düzeyleri doğrudan dönüştürme değildir. Örneğin, DW600'den DW500c'ye gitmenizi öneririz.

Azure portalını kullanarak desteklenen bir bölgede yükseltme

  • Azure portalı aracılığıyla 1. Nesil'den 2. Nesil'e geçiş kalıcıdır. 1. Nesil'e geri dönmek için bir işlem yoktur.
  • 2. Nesil'e geçiş için ayrılmış SQL havuzunun (eski adı SQL DW) çalışıyor olması gerekir

Başlamadan önce

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

  • Azure Portal’ında oturum açın.
  • Ayrılmış SQL havuzunun (eski adı SQL DW) çalıştığından emin olun; 2. Nesil'e geçirilmelidir

PowerShell yükseltme komutları

  1. Yükseltilecek İşlem için İyileştirilmiş 1. Nesil katmanı ayrılmış SQL havuzu (eski adı SQL DW) duraklatıldıysa, ayrılmış SQL havuzuna (eski adı SQL DW) devam edin.

  2. Birkaç dakikalık kapalı kalma süresi için hazırlıklı olun.

  3. İşlem için İyileştirilmiş 1. Nesil performans düzeylerine yönelik tüm kod başvurularını belirleyin ve bunları eşdeğer İşlem için İyileştirilmiş 2. Nesil performans düzeyiyle değiştirin. Aşağıda, yükseltmeden önce kod başvurularını güncelleştirmeniz gereken iki örnek verilmiştir:

    Özgün 1. Nesil PowerShell komutu:

    Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300"
    

    Değiştirildiği yer:

    Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -DatabaseName "mySampleDataWarehouse" -ServerName "mynewserver-20171113" -RequestedServiceObjectiveName "DW300c"
    

    Not

    -RequestedServiceObjectiveName "DW300" olarak değiştirildi - RequestedServiceObjectiveName "DW300c"

    Özgün 1. Nesil T-SQL komutu:

    ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300') ;
    

    Değiştirildiği yer:

    ALTER DATABASE mySampleDataWarehouse MODIFY (SERVICE_OBJECTIVE = 'DW300c') ;
    

    Not

    SERVICE_OBJECTIVE = 'DW300' SERVICE_OBJECTIVE = 'DW300c' olarak değiştirildi

Yükseltmeyi başlatma

  1. Azure portalında İşlem için İyileştirilmiş 1. Nesil ayrılmış SQL havuzunuza (eski adıyla SQL DW) gidin. Yükseltilecek İşlem için İyileştirilmiş 1. Nesil katmanı ayrılmış SQL havuzu (eski adıYLA SQL DW) duraklatıldıysa, ayrılmış SQL havuzuna devam edin.

  2. Görevler sekmesinin altında 2. Nesil'e yükselt kartını seçin:

    Not

    Görevler sekmesinin altında 2 . Nesil'e Yükselt kartını görmüyorsanız abonelik türünüz geçerli bölgede sınırlıdır. Aboneliğinizin onaylanması için bir destek bileti gönderin.

  3. Yükseltmeden önce iş yükünüzün çalışmasının tamamlandığından ve sessize alındığından emin olun. Ayrılmış SQL havuzunuzun (eski adı SQL DW) İşlem için İyileştirilmiş 2. Nesil katmanı ayrılmış SQL havuzu (eski adı SQL DW) olarak yeniden çevrimiçi olması için birkaç dakika kapalı kalma süresiyle karşılaşırsınız.

  4. Yükselt’i seçin.

  5. Azure portalında durumu denetleyerek yükseltmenizi izleyin. Büyük olasılıkla "Bu veri ambarı 2. Nesil'e yükseltiliyor" ifadesini gösteren bir ileti başlığı görürsünüz.

    Yükseltme işleminin ilk adımı, tüm oturumların sonlandırılacağı ve bağlantıların bırakılacağı ölçeklendirme işleminden ("Yükseltme - Çevrimdışı") geçer.

    Yükseltme işleminin ikinci adımı veri geçişidir ("Yükseltme - Çevrimiçi"). Veri geçişi, çevrimiçi bir karmaşık arka plan işlemidir. Bu işlem, sütunlu verileri yerel SSD önbelleği kullanarak eski depolama mimarisinden yeni depolama mimarisine yavaşça taşır. Bu süre boyunca, ayrılmış SQL havuzunuz (eski adı SQL DW) sorgulama ve yükleme için çevrimiçi olur. Verileriniz geçirilip geçirilmediğine bakılmaksızın sorgulanabilir. Veri geçişi, veri boyutunuz, performans düzeyiniz ve columnstore segmentlerinizin sayısına bağlı olarak değişen oranlarda gerçekleşir.

  6. İsteğe Bağlı Öneri: Ölçeklendirme işlemi tamamlandıktan sonra veri geçişi arka plan işlemini hızlandırabilirsiniz. ALTER INDEX ... komutunu çalıştırarak veri taşımaya zorlayabilirsiniz. Daha büyük bir SLO ve kaynak sınıfında sorguladığınız tüm birincil columnstore tablolarında REBUILD . Bu işlem çevrimdışıdır, diğer sorguları düşürür veya engeller, ancak tablolarınızın sayısına ve boyutlarına bağlı olarak tamamlanması saatler sürebilen karmaşık arka plan işlemine kıyasla daha hızlı tamamlanır. Ancak, tamamlandıktan sonra, yüksek kaliteli satır gruplarına sahip yeni gelişmiş depolama mimarisi nedeniyle veri geçişi çok daha hızlı olacaktır.

Not

Alter Index yeniden derlemesi çevrimdışı bir işlemdir ve yeniden derleme tamamlanana kadar tablolar kullanılamaz.

Aşağıdaki sorgu, veri geçişini hızlandırmak için gerekli ALTER INDEX ... REBUILD komutları oluşturur:

SELECT 'ALTER INDEX [' + idx.NAME + '] ON ['
       + Schema_name(tbl.schema_id) + '].['
       + Object_name(idx.object_id) + '] REBUILD ' + ( CASE
                                                         WHEN (
                                                     (SELECT Count(*)
                                                      FROM   sys.partitions
                                                             part2
                                                      WHERE  part2.index_id
                                                             = idx.index_id
                                                             AND
                                                     idx.object_id =
                                                     part2.object_id)
                                                     > 1 ) THEN
              ' PARTITION = '
              + Cast(part.partition_number AS NVARCHAR(256))
              ELSE ''
                                                       END ) + '; SELECT ''[' +
              idx.NAME + '] ON [' + Schema_name(tbl.schema_id) + '].[' +
              Object_name(idx.object_id) + '] ' + (
              CASE
                WHEN ( (SELECT Count(*)
                        FROM   sys.partitions
                               part2
                        WHERE
                     part2.index_id =
                     idx.index_id
                     AND idx.object_id
                         = part2.object_id) > 1 ) THEN
              ' PARTITION = '
              + Cast(part.partition_number AS NVARCHAR(256))
              + ' completed'';'
              ELSE ' completed'';'
                                                    END )
FROM   sys.indexes idx
       INNER JOIN sys.tables tbl
               ON idx.object_id = tbl.object_id
       LEFT OUTER JOIN sys.partitions part
                    ON idx.index_id = part.index_id
                       AND idx.object_id = part.object_id
WHERE  idx.type_desc = 'CLUSTERED COLUMNSTORE';

Azure portalı aracılığıyla geri yükleme kullanarak Azure coğrafi bölgesinden yükseltme

Azure portalını kullanarak kullanıcı tanımlı geri yükleme noktası oluşturma

  1. Azure Portal’ında oturum açın.
  2. Geri yükleme noktası oluşturmak istediğiniz ayrılmış SQL havuzuna (eski adıyla SQL DW) gidin.
  3. Genel Bakış sayfasının araç çubuğunda + Yeni Geri Yükleme Noktası'nı seçin.
  4. Geri yükleme noktanız için bir ad belirtin.

Azure portalını kullanarak etkin veya duraklatılmış veritabanını geri yükleme

  1. Azure Portal’ında oturum açın.

  2. Geri yüklemek istediğiniz ayrılmış SQL havuzuna (eski adıyla SQL DW) gidin.

  3. Genel Bakış bölümünün araç çubuğunda Geri Yükle'yi seçin.

  4. Otomatik geri yükleme noktalarını veya kullanıcı tanımlı geri yükleme noktalarını seçin. Kullanıcı tanımlı geri yükleme noktaları için kullanıcı tanımlı bir geri yükleme noktası seçin veya Yeni kullanıcı tanımlı geri yükleme noktası oluştur'u seçin. Sunucu için Yeni oluştur'u seçin ve 2. Nesil tarafından desteklenen coğrafi bölgede bir sunucu seçin.

    Aralarından seçim yapabileceğiniz geri yükleme noktalarını gösteren Azure portalının ekran görüntüsü.

PowerShell kullanarak Azure coğrafi bölgesinden geri yükleme

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Veritabanını kurtarmak için Restore-AzSqlDatabase cmdlet'ini kullanın.

Not

2. Nesil'e coğrafi geri yükleme gerçekleştirebilirsiniz! Bunu yapmak için isteğe bağlı bir parametre olarak 2. Nesil ServiceObjectiveName (DW1000c gibi) belirtin.

  1. Windows PowerShell'i açın.
  2. Azure hesabınıza bağlanın ve hesabınızla ilişkili tüm abonelikleri listeleyin.
  3. Geri yüklenecek veritabanını içeren aboneliği seçin.
  4. Kurtarmak istediğiniz veritabanını alın.
  5. 2. Nesil ServiceObjectiveName belirterek veritabanı için kurtarma isteği oluşturun.
  6. Coğrafi olarak geri yüklenen veritabanının durumunu doğrulayın.
Connect-AzAccount
Get-AzSubscription
Select-AzSubscription -SubscriptionName "<Subscription_name>"

# Get the database you want to recover
$GeoBackup = Get-AzSqlDatabaseGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourServerName>" -DatabaseName "<YourDatabaseName>"

# Recover database
$GeoRestoredDatabase = Restore-AzSqlDatabase –FromGeoBackup -ResourceGroupName "<YourResourceGroupName>" -ServerName "<YourTargetServer>" -TargetDatabaseName "<NewDatabaseName>" –ResourceId $GeoBackup.ResourceID -ServiceObjectiveName "<YourTargetServiceLevel>" -RequestedServiceObjectiveName "DW300c"

# Verify that the geo-restored database is online
$GeoRestoredDatabase.status

Not

Geri yükleme tamamlandıktan sonra veritabanınızı yapılandırmak için bkz . Kurtarmadan sonra veritabanınızı yapılandırma.

Kaynak veritabanı TDE özellikliyse kurtarılan veritabanı TDE özellikli olur.

Ayrılmış SQL havuzunuzda herhangi bir sorunla karşılaşırsanız bir destek isteği oluşturun ve olası neden olarak "2. Nesil yükseltme" başvurusu yapın.

Yükseltilmiş ayrılmış SQL havuzunuz (eski adıYLA SQL DW) çevrimiçi. Gelişmiş mimariden yararlanmak için kaynak sınıfları hakkında daha fazla bilgi edinin.

Sonraki adım