SQL Server veritabanınızı geçirmek için Azure önerileri alma

Azure Data Studio için Azure SQL Geçişi uzantısı veritabanı gereksinimlerinizi değerlendirmenize, Azure kaynakları için doğru boyutlu SKU önerilerini almanıza ve SQL Server veritabanınızı Azure'a geçirmenize yardımcı olur.

Azure SQL hedefleriniz için doğru boyutta Azure önerileri almak üzere kaynak SQL Server örneğinizden performans verileri toplayarak bu birleşik deneyimi nasıl kullanacağınızı öğrenin.

Genel Bakış

Azure SQL'e geçmeden önce Azure Data Studio'daki SQL Geçişi uzantısını kullanarak Azure Sanal Makineler hedeflerinde Azure SQL Veritabanı, Azure SQL Yönetilen Örneği ve SQL Server için doğru boyutlu öneriler oluşturabilirsiniz. Araç, kaynak SQL örneğinizden (şirket içinde veya başka bir bulutta çalışan) performans verileri toplamanıza yardımcı olur ve iş yükünüzün gereksinimlerini karşılamak için bir işlem ve depolama yapılandırması önerir.

Diyagram, Azure Data Studio için Azure SQL Geçişi uzantısında Azure önerileri için iş akışını sunar:

Diagram that shows the workflow of the SKU recommendation process.

Dekont

Azure Data Studio için Azure SQL Geçişi uzantısındaki değerlendirme ve Azure öneri özelliği, Windows veya Linux üzerinde çalışan kaynak SQL Server örneklerini destekler.

Önkoşullar

SQL Server veritabanı geçişiniz için Azure önerilerini kullanmaya başlamak için aşağıdaki önkoşulları karşılamanız gerekir:

Desteklenen kaynaklar ve hedefler

Aşağıdaki SQL Server sürümleri için Azure önerileri oluşturulabilir:

  • Windows veya Linux'ta SQL Server 2008 ve sonraki sürümleri desteklenir.
  • Diğer bulutlarda çalışan SQL Server desteklenebilir, ancak sonuçların doğruluğu farklılık gösterebilir

Aşağıdaki Azure SQL hedefleri için Azure önerileri oluşturulabilir:

  • Azure SQL Veritabanı
    • Donanım aileleri: Standart seri (5. Nesil)
    • Hizmet katmanları: Genel Amaçlı, İş Açısından Kritik, Hiper Ölçek
  • Azure SQL Yönetilen Örneği
    • Donanım aileleri: Standart seri (5. Nesil), Premium serisi, Premium serisi bellek için iyileştirilmiş
    • Hizmet katmanları: Genel Amaçlı, İş Açısından Kritik
  • Azure Sanal Makinesinde SQL Server
    • VM aileleri: Genel amaçlı, bellek için iyileştirilmiş
    • Depolama aileleri: Premium SSD

Performans verisi toplama

Önerilerin oluşturulabilmesi için önce kaynak SQL Server örneğinizden performans verilerinin toplanması gerekir. Bu veri toplama adımı sırasında, iş yükünüzün performans özelliklerini yakalamak için SQL Server örneğinizdeki birden çok dinamik sistem görünümü (DMV) sorgulanır. Araç her 30 saniyede bir CPU, bellek, depolama ve GÇ kullanımı gibi ölçümleri yakalar ve performans sayaçlarını bir DIZI CSV dosyası olarak makinenize yerel olarak kaydeder.

Örnek düzeyi

Bu performans verileri SQL Server örneği başına bir kez toplanır:

Performans boyutu Tanım Dinamik Yönetim görünümü (DMV)
SqlInstanceCpuPercent SQL Server işleminin yüzde olarak kullandığı CPU miktarı sys.dm_os_ring_buffers
PhysicalMemoryInUse SQL Server işleminin genel bellek ayak izi sys.dm_os_process_memory
MemoryUtilizationPercentage SQL Server'ın bellek kullanımı sys.dm_os_process_memory

Veritabanı düzeyi

Performans boyutu Tanım Dinamik Yönetim görünümü (DMV)
DatabaseCpuPercent Veritabanı tarafından kullanılan toplam CPU yüzdesi sys.dm_exec_query_stats
CachedSizeInMb Veritabanı tarafından kullanılan megabayt önbellekte toplam boyut sys.dm_os_buffer_descriptors

Dosya düzeyi

Performans boyutu Tanım Dinamik Yönetim görünümü (DMV)
ReadIOInMb Bu dosyadan okunan toplam megabayt sayısı sys.dm_io_virtual_file_stats
WriteIOInMb Bu dosyaya yazılan toplam megabayt sayısı sys.dm_io_virtual_file_stats
NumOfReads Bu dosyada verilen toplam okuma sayısı sys.dm_io_virtual_file_stats
NumOfWrites Bu dosyada verilen toplam yazma sayısı sys.dm_io_virtual_file_stats
ReadLatency Bu dosyadaki GÇ okuma gecikmesi sys.dm_io_virtual_file_stats
WriteLatency Bu dosyadaki GÇ yazma gecikme süresi sys.dm_io_virtual_file_stats

Bir önerinin oluşturulabilmesi için en az 10 dakika veri toplama gerekir, ancak iş yükünüzü doğru bir şekilde değerlendirmek için veri toplamayı hem yoğun hem de yoğun olmayan kullanımı yakalamak için yeterince uzun süre çalıştırmanız önerilir.

Veri toplama işlemini başlatmak için, Azure Data Studio'daki kaynak SQL örneğine bağlanarak başlayın, ardından SQL Geçiş sihirbazını başlatın. 2. adımda "Azure önerisini al" seçeneğini belirleyin. "Performans verilerini şimdi topla" seçeneğini belirleyin ve makinenizde toplanan verilerin kaydedileceği klasörü seçin.

Screenshot that shows the wizard pane to collect performance data for SKU recommendations.

Önemli

İlk öneriyi oluşturmak için veri toplama işlemi 10 dakika boyunca çalışır. Etkin veritabanı iş yükünüz üretim senaryolarınıza benzer bir kullanımı yansıttığında veri toplama işlemini başlatmak önemlidir.

İlk öneri oluşturulduktan sonra, önerileri iyileştirmek için veri toplama işlemini çalıştırmaya devam edebilirsiniz. Bu seçenek özellikle kullanım düzenleriniz zaman içinde farklılık gösteriyorsa kullanışlıdır.

Veri toplama işlemi, Başlat'ı seçtiğinizde başlar. Her 10 dakikada bir toplanan veri noktaları toplanır ve her sayacın maksimum, ortalama ve varyansı diske üç CSV dosyası kümesine yazılır.

Genellikle seçili klasörde aşağıdaki sonekleri içeren bir DIZI CSV dosyası görürsünüz:

  • SQLServerInstance_CommonDbLevel_Counters.csv: Veritabanı dosya düzeni ve meta verileriyle ilgili statik yapılandırma verilerini içerir.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv: Sunucu örneğinin donanım yapılandırması hakkında statik veriler içerir.
  • SQLServerInstance_PerformanceAggregated_Counters.csv: Sık sık güncelleştirilen toplu performans verilerini içerir.

Bu süre boyunca Azure Data Studio'yu açık bırakın, ancak diğer işlemlere devam edebilirsiniz. İstediğiniz zaman bu sayfaya dönüp Veri toplamayı durdur'u seçerek veri toplama işlemini durdurabilirsiniz.

Doğru boyutlu öneriler oluşturma

Önceki bir oturumdan performans verilerini zaten topladıysanız veya farklı bir araç (Veritabanı Geçiş Yardımcısı gibi) kullanıyorsanız, performans verilerine zaten sahibim seçeneğini belirleyerek mevcut performans verilerini içeri aktarabilirsiniz. Performans verilerinizin (üç .csv dosyası) kaydedildiği klasörü seçin ve öneri işlemini başlatmak için Başlat'ı seçin.

Screenshot that shows the pane to import performance data for a SKU recommendation.

Dekont

SQL Geçiş sihirbazının birinci adımı, değerlendirilecek bir veritabanı kümesi seçmenizi ister ve bunlar öneri işlemi sırasında dikkate alınacak tek veritabanlarıdır.

Ancak, performans verileri toplama işlemi yalnızca seçilenler için değil, kaynak SQL Server örneğinden tüm veritabanları için performans sayaçlarını toplar.

Bu, daha önce toplanan performans verilerinin, birinci adımda farklı bir liste belirterek farklı bir veritabanı alt kümesine yönelik önerileri tekrar tekrar yeniden oluşturmak için kullanılabileceğini gösterir.

Öneri parametreleri

Önerilerinizi etkileyebilecek birden çok yapılandırılabilir ayar vardır.

Screenshot that shows the recommendation parameters section.

Bu parametreleri ihtiyaçlarınıza göre ayarlamak için Parametreleri düzenle seçeneğini belirleyin.

Screenshot that shows the different recommendation parameters.

  • Ölçek faktörü:
    Bu seçenek, her performans boyutuna uygulanacak bir arabellek sağlamanıza olanak tanır. Bu seçenek mevsimsel kullanım, kısa performans geçmişi ve gelecekteki kullanım artışları gibi sorunları açıklar. Örneğin, dört sanal çekirdek CPU gereksiniminin %150 ölçek faktörüne sahip olduğunu belirlerseniz gerçek CPU gereksinimi altı sanal çekirdektir.

    Varsayılan ölçek faktörü hacmi %100'dür.

  • Kullanım yüzdesi:
    Performans verileri toplanırken kullanılacak veri noktalarının yüzdebirliği.

    Varsayılan değer 95. yüzdebirlik değerdir.

  • Önizleme özelliklerini etkinleştirme:
    Bu seçenek, henüz tüm bölgelerdeki tüm kullanıcılar için genel olarak kullanılamayabilecek yapılandırmaların önerilmesine olanak tanır.

    Bu seçenek varsayılan olarak kapalıdır.

  • Elastik öneriyi etkinleştir:

    Bu seçenek, mevcut bulut müşterileri için kişiselleştirilmiş fiyat-performans profili oluşturma kullanan alternatif bir öneri modeli kullanır.

    Bu seçenek varsayılan olarak kapalıdır.

Önemli

Azure Data Studio'yu kapatırsanız veri toplama işlemi sonlandırılır. Bu noktaya kadar toplanan veriler klasörünüzde kaydedilir.

Veri toplama işlemi devam ederken Azure Data Studio'yu kapatırsanız, veri toplamayı yeniden başlatmak için aşağıdaki seçeneklerden birini kullanın:

  • Azure Data Studio'yu yeniden açın ve yerel klasörünüzde kaydedilen veri dosyalarını içeri aktarın. Ardından, toplanan verilerden bir öneri oluşturun.
  • Azure Data Studio'yu yeniden açın ve geçiş sihirbazını kullanarak veri toplamayı yeniden başlatın.

En düşük izinler

Performans verisi toplama için gerekli sistem görünümlerini sorgulamak için, bu görev için kullanılan SQL Server oturum açma bilgileri için belirli izinler gereklidir. Aşağıdaki betiği kullanarak değerlendirme ve performans verileri toplama için en düşük ayrıcalıklı kullanıcı oluşturabilirsiniz:

-- Create a login to run the assessment
USE master;
GO

CREATE LOGIN [assessment] WITH PASSWORD = '<STRONG PASSWORD>';

-- Create user in every database other than TempDB and model and provide minimal read-only permissions
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''TempDB'',''model''))  
   BEGIN TRY
      CREATE USER [assessment] FOR LOGIN [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT SELECT ON sys.sql_expression_dependencies TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT VIEW DATABASE STATE TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'

-- Provide server level read-only permissions
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [assessment];
GRANT VIEW DATABASE STATE TO assessment;
GRANT VIEW SERVER STATE TO assessment;
GRANT VIEW ANY DEFINITION TO assessment;

-- Provide msdb specific permissions
USE msdb;
GO

GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [assessment];

-- USE master;
-- GO
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [assessment] END TRY BEGIN CATCH SELECT ERROR_MESSAGE() END CATCH';
-- DROP LOGIN [assessment];

Desteklenmeyen senaryolar ve sınırlamalar

  • Azure Öneriler fiyat tahminlerini içermez çünkü bu durum bölgeye, para birimine ve Azure Hibrit Avantajı gibi indirimlere bağlı olarak farklılık gösterebilir. Fiyat tahminlerini almak için Azure Fiyatlandırma Hesaplayıcısı'nı kullanın veya Azure Geçişi'nde bir SQL değerlendirmesi oluşturun.
  • DTU tabanlı satın alma modeline sahip Azure SQL Veritabanı için Öneriler desteklenmez.
  • Şu anda sunucusuz Azure SQL Veritabanı işlem katmanı ve Elastik Havuzlar için Azure önerileri desteklenmemektedir.

Sorun giderme

  • Öneri oluşturulmadi
    • Hiçbir öneri oluşturulmadıysa, bu durum kaynak örneğinizin performans gereksinimlerini tam olarak karşılayan yapılandırmaların tanımlanamadığı anlamına gelebilir. Belirli bir boyutun, hizmet katmanının veya donanım ailesinin diskalifiye olmasının nedenlerini görmek için:
      • Tüm Komutların Gösterilmesine Yardımcı Olun > Uzantı Günlükleri > Klasörünü Aç'a giderek Azure Data Studio'dan günlüklere erişin
      • SkuRecommendationEvent.log dosyasını açmak için Microsoft.mssql > SqlAssessmentLogs > adresine gidin
      • Günlük, değerlendirilen tüm olası yapılandırmaların bir izlemesini ve bunun uygun bir yapılandırma olarak değerlendirilmesinin/değerlendirilmemesinin nedenini içerir: Screenshot that shows SKU recommendations log.
    • Elastik öneri etkinken öneriyi yeniden oluşturmayı deneyin. Bu seçenek, mevcut bulut müşterileri için kişiselleştirilmiş fiyat-performans profili oluşturmayı kullanan alternatif bir öneri modeli kullanır.

Sonraki adımlar

  • Azure Data Studio'da Azure SQL Geçişi uzantısını kullanarak veritabanlarını geçirmeyi öğrenin.