SQL Server veritabanınızı geçirmek için Azure önerileri alma (Önizleme)

Azure Data Studio için Azure SQL Geçişi uzantısı veritabanı gereksinimlerinizi değerlendirmenize, Azure kaynakları için doğru boyutta SKU önerileri 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 geçiş yapmadan ö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 (Önizleme) oluşturabilirsiniz. Araç, kaynak SQL örneğinizden (şirket içinde veya başka bir bulutta çalışan) performans verileri toplamanıza ve iş yükünüzün gereksinimlerini karşılamak için bir işlem ve depolama yapılandırması önermenize yardımcı olur.

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

SKU öneri işleminin iş akışını gösteren diyagram.

Not

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şinize yönelik Azure önerilerini (Önizleme) 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 Örnek
    • Donanım aileleri: Standart seri (Gen5), 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ç 30 saniyede bir CPU, bellek, depolama ve GÇ kullanımı gibi ölçümleri yakalar ve performans sayaçlarını yerel olarak makinenize CSV dosyaları olarak kaydeder.

Örnek düzeyi

Bu performans verileri her SQL Server örneği için bir kez toplanır:

Performans boyutu Açıklama 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 bellek kullanımı sys.dm_os_process_memory

Veritabanı düzeyinde Kimlik Bilgileri belirleme seçeneği

Performans boyutu Açıklama 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 önbellekteki toplam boyut sys.dm_os_buffer_descriptors

Dosya düzeyi

Performans boyutu Açıklama Dinamik Yönetim görünümü (DMV)
ReadIOInMb Bu dosyadan okunan megabaytların toplam 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, hem yoğun hem de yoğun olmayan kullanımı yakalamak için veri toplamayı 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 ve 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.

SKU önerileri için performans verilerini toplamaya yönelik sihirbaz bölmesini gösteren ekran görüntüsü.

Ö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 değişiyorsa 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 verileri hakkında statik yapılandırma verileri 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 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 boyutta ö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.

SKU önerisi için performans verilerini içeri aktarma bölmesini gösteren ekran görüntüsü.

Not

SQL Geçiş sihirbazının birinci adımında değerlendirilecek bir veritabanı kümesi seçmeniz istenir 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ğindeki tüm veritabanları için performans sayaçlarını toplar.

Başka bir deyişle, daha önce toplanan performans verileri, birinci adımda farklı bir liste belirterek farklı bir veritabanı alt kümesine yönelik önerileri tekrar tekrar yeniden oluşturmak için kullanılabilir.

Öneri parametreleri

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

Öneri parametreleri bölümünü gösteren ekran görüntüsü.

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

Farklı öneri parametrelerini gösteren ekran görüntüsü.

  • Ö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ımdaki artışlar gibi sorunları hesaba ekler. Ö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ılamayan yapılandırmaların önerilmesine olanak tanır.

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

  • Elastik öneriyi etkinleştirme:

    Bu seçenek, mevcut bulut müşterileri için kişiselleştirilmiş fiyat-performans profili oluşturmayı 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 sonlanı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 verileri 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 Önerileri 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ı önerileri desteklenmez.
  • Şu anda Azure SQL Veritabanı sunucusuz işlem katmanı ve Elastik Havuzlar için Azure önerileri desteklenmemektedir.
  • Şu anda Premium SSD v2 kullanan Azure Sanal Makinesi'nin SQL Server için Azure önerileri desteklenmemektedir.

Sorun giderme

  • Öneri oluşturulmaz
    • Hiçbir öneri oluşturulmadıysa, bu durum kaynak örneğinizin performans gereksinimlerini tam olarak karşılayan yapılandırmaların tanımlandığı anlamına gelebilir. Belirli bir boyut, hizmet katmanı veya donanım ailesinin diskalifiye olmasının nedenlerini görmek için:
      • Tüm Komutları Göstermeye 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 ve uygun bir yapılandırma olarak değerlendirilmesinin/değerlendirilmeme nedeninin bir izlemesini içerir: SKU öneri günlüğünü gösteren ekran görüntüsü.
    • 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