Aracılığıyla paylaş


Yerel veritabanınız için doğru Azure SQL Veritabanı, Azure SQL Yönetilen Örneği veya Azure VM üzerindeki SQL Server SKU'sunu belirleyin.

Önemli

Data Migration Yardımcısı (DMA) kullanım dışı bırakıldı. SQL Server'dan Azure SQL'e geçiş seçenekleri için bkz. SQL Server'dan Azure SQL'e geçiş seçenekleri.

Veritabanlarını buluta geçirmek karmaşık olabilir. Özellikle veritabanınız için en iyi Azure SQL Veritabanı, SQL Yönetilen Örneği veya Azure VM hedefi ve SKU'su üzerinde SQL Server'ı seçmeye çalışırken.

Veritabanı Geçiş Yardımcısı (DMA), kullanıcı dostu bir çıktıda bu SKU önerilerini sağlayarak bu soruların ele alınmasına ve veritabanı geçiş deneyiminizi kolaylaştırmanıza yardımcı olur. Performans verilerini kullanarak DMA, artık uygun bir hedef Azure SQL SKU'su ve bu önerinin açıklamasını önerebilir.

SKU önerileri özelliği hem veritabanlarınızı barındıran kaynak SQL Server örneklerinizden performans verileri toplamanıza olanak tanır hem de toplanan verilere göre Azure VM SKU'su üzerinde en düşük Azure SQL Veritabanı, Azure SQL Yönetilen Örneği veya SQL Server'ı önerir. Bu özellik fiyatlandırma katmanı, işlem düzeyi ve veri boyutuyla ilgili öneriler sağlar. Bu işlev şu anda yalnızca Komut Satırı Arabirimi (CLI) aracılığıyla kullanılabilir.

SKU önerilerini belirlemenize ve DMA kullanarak Azure'da ilgili veritabanlarını sağlamanıza yardımcı olacak yönergeler aşağıdadır.

Not

VMware üzerinde büyük ölçekte SQL Server veri varlığının tamamını değerlendiriyorsanız, Azure SQL dağıtım önerilerini, hedef boyutlandırmayı ve aylık tahminleri almak için Azure Geçiş kullanın.

Önkoşullar

  • DMA'nin en son sürümünü indirin ve yükleyin. Aracın daha önceki bir sürümüne sahipseniz, açtığınızda DMA'yı yükseltmeniz istenecektir.
  • SKU önerileri konsol uygulamasının çalıştığı araç makinesine .NET Core 6.0'ın minimum sürümünü yükleyin.
  • SQL Server şirket içi kaynağınıza bağlanmak için kullanılan hesabın sysadmin iznine sahip olduğundan emin olun.

Not

Olası ek yükü en aza indirmek için aracın SQL Server'ın kendisini barındıran makineden değil, hedef SQL örneklerine bağlantısı olan ayrı bir araç (istemci) makinesinden kullanılması önerilir. SKU önerileri için performans verileri toplanırken, aracın hem yoğun olmayan hem de yoğun iş yüklerini kapsayan ve dizin yeniden oluşturma veya veritabanını yedekleme gibi bakım görevlerini dışlayan birkaç saat boyunca varsayılan seçenek değerleriyle çalıştırılması önerilir. Bakım görevleri CPU, Bellek ve GÇ tüketimini etkileyebilir ve daha sonra önerilen daha yüksek SKU katmanlarını yönlendirebilir.

Performans verilerini toplama

Toplanan veriler sunucunuzun donanım yapılandırması hakkında sınırlı bilgi ve CPU, bellek, depolama kullanımı, GÇ aktarım hızı ve GÇ gecikme süresi gibi sistem Dinamik Yönetim Görünümlerinden (DMV) toplanan SQL'e özgü performans verilerini içerir. Toplanan veriler daha fazla toplama ve analiz için makinenizde yerel olarak depolanır. Kaynak örneğinizin performans karakteristikleri, iş yükünüz için hem en uygun Azure SQL teklifleri (SQL Veritabanı, SQL Yönetilen Örneği ve Azure VM'de SQL dahil) için uygun maliyetli olacak şekilde etkin SKU önerileri sağlamak amacıyla analiz edilir.

DMA yükleme yolunda SQLAssessmentConsole klasörünü ve SqlAssessment.exe uygulamasını bulun.

DMA yükleme klasörü konumunda gösterilen SKUConsoleApplication.exe dosyasının ekran görüntüsü.

Veri toplama işlemini başlatmak için konsol uygulamasında aşağıdaki bağımsız değişkenlerle PerfDataCollection eylemini belirtin:

  • sqlConnectionStrings: (gerekli) Hedef SQL örnekleri için tırnak içine alınmış standart bağlantı dizeleri.
  • perfQueryIntervalInSec ( isteğe bağlı): Saniye cinsinden performans verilerinin sorgulandığı aralık. (Varsayılan: 30).
  • staticQueryIntervalInSec (isteğe bağlı): Statik yapılandırma verilerinin sorgulanıp kaydedilmesi için saniye cinsinden aralık. (Varsayılan: 60).
  • numberOfIterations ( isteğe bağlı): Dosyada kalıcı hale getirilmeden önce gerçekleştirilecek performans verileri toplama yinelemelerinin sayısı. Örneğin, varsayılan değerlerle performans verileri 30 saniyede bir * 20 yineleme = 10 dakikada bir kalıcı hale getirilir. (Varsayılan: 20).
  • outputFolder (isteğe bağlı): Performans verilerinin, raporların ve günlüklerin yazıldığı/okunduğu klasör. (Varsayılan: %LocalAppData%/Microsoft/SqlAssessmentConsole).

Aşağıdaki örnek örnek bir çağrıdır:

.\SqlAssessment.exe PerfDataCollection
--sqlConnectionStrings "Data Source=Server1;Initial Catalog=master;Integrated Security=True;" "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
--outputFolder C:\Output

Alternatif olarak, veri toplama işlemi, JSON yapılandırma dosyasında uygun bağımsız değişkenleri sağlayarak ve yapılandırma dosyasını araca geçirmek için herhangi bir işlem yapmadan çalıştırılabilir bir dosyayı çalıştırarak aşağıdaki şekilde çağrılabilir:

.\SqlAssessment.exe --configFile C:\path\to\config.json

Aşağıdaki örnek ConfigFile, daha önce açıklanan performans verileri toplama eylemiyle eşdeğerdir:

  {
    "action": "PerfDataCollection",
    "sqlConnectionStrings": [
    "Data Source=Server1;Initial Catalog=master;Integrated Security=True;",
    "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
    ],
    "outputFolder": "C:\\Output"
  }

Tüm eylemler için örnek yapılandırma dosyaları DMA yükleme yolu altındaki Example klasöründe bulunabilir: GetMetadataSampleConfigFile.json, PerfDataCollectionSampleConfigFile.jsonve GetSkuRecommendationSampleConfigFile.json.

Komut yürütüldikten sonra performans ve yapılandırma veri noktaları, her biri sunucu ve örnek adını içeren hedef örnek başına üç *_Counters.csv dosya kümesi olarak kaydedilir. İşlemin sonraki bölümünde giriş olarak bu dosyayı kullanabilirsiniz. Bu, Azure SQL Veritabanı, Azure SQL Yönetilen Örneği veya Azure VM'de SQL Server için SKU önerileri sağlar.

SKU önerileri almak için konsol uygulamasını kullanma

Önceki adım tarafından toplanan veri noktaları, SKU öneri işleminin girişi olarak kullanılır.

Tek veritabanı seçeneği için DMA, Azure SQL Veritabanı tek veritabanı katmanı, işlem düzeyi ve SQL örneğinizdeki her veritabanı için önerilen depolama yapılandırması için öneriler sağlar.

Azure SQL Yönetilen Örneği ve Azure VM'de SQL Server için öneriler lift-and-shift senaryosunu destekler. Sonuç olarak, SKU önerileri konsol uygulaması size Azure SQL Yönetilen Örneği veya Azure VM katmanında SQL Server, işlem düzeyi ve SQL örneğinizdeki veritabanı kümesi için önerilen depolama yapılandırması için öneriler sağlayabilir. Ayrıca, SKU önerilerine dahil edilecek veya dışlanacak veritabanlarının yalnızca bir alt kümesini belirtebilirsiniz.

GetSkuRecommendation, varsayılan olarak, belirtilen yüzde değerine göre iş yüküne uygun performans verisi değerlerini doğru Azure SQL SKU'suna eşleyen bir temel strateji uygular. Ayrıca, Azure SQL'e zaten geçiş yapmış olan müşterileri temel alan bir modele göre iş yükü desenlerini analiz ederek toplanan performans verilerini temel alan benzersiz bir fiyat-performans eğrisi oluşturan esnek bir strateji (istatistiksel yaklaşım) sunuyoruz.

SKU öneri sürecini başlatmak için konsol uygulamasında aşağıdaki bağımsız değişkenlerle GetSkuRecommendation komutunu belirtin:

  • perfQueryIntervalInSec ( isteğe bağlı): Performans verilerinin sorgulanma aralığı (saniye cinsinden). Not: Sağlanan değer, performans verisi toplama sırasında ilk olarak kullanılan değerle eşleşmelidir. (Varsayılan: 30)
  • targetPlatform ( isteğe bağlı): SKU önerisi için hedef platform: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachineveya Any. Any seçildiğinde üç hedef platform için de SKU önerileri değerlendirilir ve en uygun olan döndürülür. (Varsayılan: Any)
  • targetSqlInstance ( isteğe bağlı): SKU önerisinin hedeflediğini SQL örneğinin adı. (Varsayılan: outputFolder, PerfDataCollection eylemi tarafından oluşturulan dosyalar için taranır ve bulunan her örnek için öneriler sağlanır)
  • targetPercentile ( isteğe bağlı): Performans verilerinin toplanması sırasında kullanılacak veri noktalarının yüzdebirliği. Yalnızca temel (elastik olmayan) strateji için kullanılır. Yalnızca temel (elastik olmayan) strateji için kullanılır. (Varsayılan: 95)
  • scalingFactor ( isteğe bağlı): SKU önerisi sırasında kullanılan ölçeklendirme ('comfort') faktörü. Örneğin, ölçeklendirme faktörü 150%olan 4 sanal çekirdek CPU gereksinimi olduğu belirlenirse, gerçek CPU gereksinimi 6 sanal çekirdektir. (Varsayılan: 100)
  • startTime (isteğe bağlı): Toplama sırasında dikkate alınacak performans veri noktalarının UTC başlangıç saati, yyyy-MM-dd HH:mm biçimde. Yalnızca temel (elastik olmayan) strateji için kullanılır. (Varsayılan: Toplanan tüm veri noktaları dikkate alınır)
  • endTime (isteğe bağlı): Toplama sırasında dikkate alınacak performans veri noktalarının UTC bitiş saati, yyyy-MM-dd HH:mm biçimde. Yalnızca temel (elastik olmayan) strateji için kullanılır. (Varsayılan: Toplanan tüm veri noktaları dikkate alınır)
  • elasticStrategy ( isteğe bağlı): Kaynak kullanımı profili oluşturma ve maliyet-performans analizine göre SKU önerileri için elastik stratejinin kullanılıp kullanılmaymayacağı. Elastik strateji şu anda Azure SQL Veritabanları ve SQL Yönetilen Örneği için kullanılabilir, henüz Azure VM hedefinde SQL Server için kullanılamaz. (Varsayılan: false)
  • databaseAllowList (isteğe bağlı): Diğer tüm veritabanlarını hariç tutarken SKU önerisinin dikkate alınması için izin verilen veritabanlarının adlarının boşlukla ayrılmış listesi. Aşağıdakilerden yalnızca birini veya hiçbirini ayarlama: databaseAllowList, databaseDenyList. (Varsayılan: null)
  • databaseDenyList (isteğe bağlı): SKU önerisi için hariç tutulacak veritabanlarının adlarının boşlukla ayrılmış listesi. Aşağıdakilerden yalnızca birini veya hiçbirini ayarlama: databaseAllowList, databaseDenyList. (Varsayılan: null)
  • overwrite (isteğe bağlı): Mevcut SKU öneri raporlarının üzerine yazılıp yazılmayacağı. (Varsayılan: true)
  • displayResult ( isteğe bağlı): SKU öneri sonuçlarının konsola yazdırılıp yazdırılmayacağı. (Varsayılan: true)
  • outputFolder ( isteğe bağlı): Performans verilerinin, raporların ve günlüklerin yazıldığı/okunduğu klasör. (Varsayılan: %LocalAppData%\Microsoft\SqlAssessment)
  • suppressPreviewFeatures ( isteğe bağlı): True olarak ayarlanırsa, önizleme dönemindeki herhangi bir Azure özelliği öneriye dahil değildir. (Varsayılan: false)

SKU önerileri için gelişmiş ayarlar kök dizindeki Console.Settings.json dosyasında bulunabilir. Şu anda aşağıdaki özelleştirilebilir parametreleri içerir:

CommandTimeoutGroupSetting: Sql sorgu komutlarının zaman aşımına uğramadan önce yürütülmesini bekleme süresi saniye cinsindendir.

  • PerfCollectionCommandTimeout: Performans verileri toplamayla ilgili uzun süre çalışan olası sorgular için komut zaman aşımı (Varsayılan: 300)
  • DefaultCollectionCommandTimeout: Diğer tüm sorgular için komut zaman aşımı (Varsayılan: 120)

ThrottlingGroupSetting: Makinedeki çekirdek sayısına göre oluşturulacak paralel görevlerin sayısı

  • ServerInstancesParallelCount: Paralel olarak değerlendirilecek sunucu örneklerinin sayısı (Varsayılan: 2)
  • DatabasesParallelCount: Paralel olarak değerlendirilecek veritabanı sayısı (Varsayılan: 4)
  • UserDefinedObjectsParallelCountPerDb: Veritabanı başına paralel olarak değerlendirilecek kullanıcı tanımlı nesne sayısı (saklı yordamlar, görünümler, tetikleyiciler vb.) (Varsayılan: 4)

AllowTelemetry: Anonim özellik kullanımı ve tanılama verilerinin Microsoft'a toplanmasına ve iletilmesine izin verilip verilmeyeceği. (Varsayılan: true)

Alternatif olarak, bir JSON yapılandırma dosyasında uygun bağımsız değişkenler sağlanarak ve yürütülebilir dosyayı eylem olmadan çalıştırarak yapılandırma dosyasını araca geçirerek SKU öneri işlemi aşağıdaki gibi çağrılabilir:

.\SqlAssessment.exe --configFile C:\path\to\config.json

Aşağıdaki ConfigFile, daha önce açıklanan SKU önerileri eylemiyle eşdeğerdir:

{
    "action": "GetSkuRecommendation",
    "outputFolder": "C:\\Output",
    "targetPlatform": "AzureSqlDatabase",
    "targetSqlInstance": "Server1",
    "targetPercentile": 95,
    "scalingFactor": 100,
    "startTime": "2020-01-01 00:00",
    "endTime": "2022-01-01 00:00",
    "perfQueryIntervalInSec": 30,
    "overwrite": "true"
}

Otomatik olarak seçmek yerine belirli bir Azure SQL platformu için SKU önerileri almak için --targetPlatform seçeneği için aşağıdaki gibi bir değer sağlayın:

Örnek 1: Azure SQL Veritabanı için SKU önerileri alma.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlDatabase

Örnek 2: Azure SQL Yönetilen Örneği için elastik stratejiyi kullanarak SKU önerileri alma.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--elasticStrategy true

Örnek 3: Azure SQL Sanal Makinesi için SKU önerileri alma.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine

Örnek 4: Azure SQL Sanal Makinesi için SKU önerileri alma ve önizleme özelliklerini gizleme.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--suppressPreviewFeatures True

Aşağıdaki ekran görüntüsü, Azure SQL Veritabanı önerisinin örnek çıktısıdır:

SQLAssessment konsolunda gösterilen Azure SQL Veritabanı SKU katmanı ve boyutlandırma önerilerinin ekran görüntüsü.

Aşağıdaki ekran görüntüsü, Azure SQL Yönetilen Örneği önerisinin örnek bir çıktısıdır:

Konsolda gösterilen Azure SQL Yönetilen Örneği SKU katmanı ve boyut önerilerinin ekran görüntüsü.

Aşağıdaki ekran görüntüsü, Azure VM'de SQL Server önerisinin örnek bir çıktısıdır:

Konsolda gösterilen Azure VM üzerindeki SQL Server'ın SKU katmanı ve boyut önerileri çıkışının ekran görüntüsü.

SKU önerisinin çıktısı hem JSON biçiminde ayrıntılı bir rapor hem de özetlenmiş kolay okunan BIR HTML dosyası olarak kaydedilir. Çıktı aşağıdaki bölümleri kapsar:

  • Örnek Adı: Şirket içi SQL Server örneğinin adı.
  • Veritabanı Adı: Şirket içi SQL Server veritabanının adı.
  • SKU Önerisi: İş yüklerinizi barındırabilecek tüm performansa uygun SKU'lar arasında en düşük uygun maliyetli SKU teklifi.
  • Öneri Nedeni: Önerilen her katman için önerileri yönlendiren nedenleri ve toplanan veri değerlerini sağlarız.

Bu katman için önerilen son katman ve yapılandırma değerleri, sorgularınızın Şirket içi veritabanlarınıza benzer bir başarı oranıyla Azure'da çalıştırılması için gereken en düşük SKU'yu yansıtır.