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:
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:
- 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 Ö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.
Ö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.
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.
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ı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:
- 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ımlandığı anlamına gelebilir. Belirli bir boyut, hizmet katmanı veya donanım ailesinin diskalifiye olmasının nedenlerini görmek için: