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:
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:
- Azure Data Studio'yu indirip yükleyin.
- Azure Data Studio Market'ten Azure SQL Geçişi uzantısını yükleyin.
- Kaynak SQL Server örneğine bağlanmak için kullandığınız oturum açma bilgilerinin en düşük izinlere sahip olduğundan emin olun.
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.
Ö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.
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.
Bu parametreleri ihtiyaçlarınıza göre ayarlamak için Parametreleri düzenle seçeneğini belirleyin.
Ö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:
- 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.
- 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: