Abrufen von Azure-Empfehlungen zum Migrieren Ihrer SQL Server-Datenbank

Die Azure SQL Migration-Erweiterung für Azure Data Studio hilft Ihnen, Ihre Datenbankanforderungen zu bewerten, die richtigen SKU-Empfehlungen für Azure-Ressourcen zu erhalten und Ihre SQL Server-Datenbank nach Azure zu migrieren.

Erfahren Sie, wie Sie diese einheitliche Benutzeroberfläche verwenden und Leistungsdaten aus Ihrer SQL Server-Quellinstanz sammeln, um Die richtigen Azure-Empfehlungen für Ihre Azure SQL-Ziele zu erhalten.

Überblick

Bevor Sie zu Azure SQL migrieren, können Sie die SQL-Migrationserweiterung in Azure Data Studio verwenden, um empfehlungen für Azure SQL-Datenbank, Azure SQL verwaltete Instanz und SQL Server auf virtuellen Azure-Computern zu generieren. Mit dem Tool können Sie Leistungsdaten aus Ihrer SQL-Quellinstanz (lokal oder in einer anderen Cloud) sammeln und eine Compute- und Speicherkonfiguration empfehlen, um die Anforderungen Ihrer Workload zu erfüllen.

Das Diagramm zeigt den Workflow für Azure-Empfehlungen in der Azure SQL-Migrationserweiterung für Azure Data Studio:

Diagram that shows the workflow of the SKU recommendation process.

Hinweis

Die Bewertungs- und Empfehlungsfunktion in der Azure SQL-Migrationserweiterung für Azure Data Studio unterstützen SQL Server-Quellinstanzen, die unter Windows oder Linux ausgeführt werden.

Voraussetzungen

Um mit Azure-Empfehlungen für Ihre SQL Server-Datenbankmigration zu beginnen, müssen Sie die folgenden Voraussetzungen erfüllen:

Unterstützte Quellen und Ziele

Azure-Empfehlungen können für die folgenden SQL Server-Versionen generiert werden:

  • SQL Server 2008 und höhere Versionen werden unter Windows oder Linux unterstützt.
  • SQL Server, der auf anderen Clouds ausgeführt wird, wird möglicherweise unterstützt, die Genauigkeit der Ergebnisse kann jedoch variieren.

Azure-Empfehlungen können für die folgenden Azure SQL-Ziele generiert werden:

  • Azure SQL-Datenbank
    • Hardwarefamilien: Standardreihe (Gen5)
    • Dienstebenen: Allgemeiner Zweck, Unternehmenskritisch, Hyperscale
  • Azure SQL Managed Instance
    • Hardwarefamilien: Standard-Serie (Gen5), Premium-Serie, Premium-Serie speicheroptimierte
    • Dienstebenen: Allgemeiner Zweck, Unternehmenskritisch
  • SQL Server auf azure Virtual Machine
    • VM-Familien: Allgemeiner Zweck, speicheroptimierter Speicher
    • Speicherfamilien: Premium SSD

Sammlung von Leistungsdaten

Bevor Empfehlungen generiert werden können, müssen Leistungsdaten aus Der SQL Server-Quellinstanz erfasst werden. Während dieses Datensammlungsschritts werden mehrere dynamische Systemansichten (DMVs) aus Ihrer SQL Server-Instanz abgefragt, um die Leistungsmerkmale Ihrer Workload zu erfassen. Das Tool erfasst Metriken wie CPU, Arbeitsspeicher, Speicher und E/A-Nutzung alle 30 Sekunden und speichert die Leistungsindikatoren lokal auf Ihrem Computer als Eine Reihe von CSV-Dateien.

Instanzebene

Diese Leistungsdaten werden einmal pro SQL Server-Instanz gesammelt:

Leistungsdimension Beschreibung Dynamische Verwaltungsansicht (DYNAMIC Management View, DMV)
SqlInstanceCpuPercent Die CPU-Menge, die der SQL Server-Prozess als Prozentsatz verwendet hat sys.dm_os_ring_buffers
PhysicalMemoryInUse Gesamtspeicherbedarf des SQL Server-Prozesses sys.dm_os_process_memory
MemoryUtilizationPercentage Arbeitsspeicherauslastung von SQL Server sys.dm_os_process_memory

Datenbankebene

Leistungsdimension Beschreibung Dynamische Verwaltungsansicht (DYNAMIC Management View, DMV)
DatabaseCpuPercent Der Gesamtprozentsatz der von einer Datenbank verwendeten CPU sys.dm_exec_query_stats
CachedSizeInMb Gesamtgröße in Megabyte des von einer Datenbank verwendeten Caches sys.dm_os_buffer_descriptors

Dateiebene

Leistungsdimension Beschreibung Dynamische Verwaltungsansicht (DYNAMIC Management View, DMV)
ReadIOInMb Die Gesamtanzahl von Megabytes, die aus dieser Datei gelesen werden sys.dm_io_virtual_file_stats
WriteIOInMb Die Gesamtanzahl der in diese Datei geschriebenen Megabytes sys.dm_io_virtual_file_stats
NumOfReads Die Gesamtzahl der in dieser Datei ausgegebenen Lesevorgänge sys.dm_io_virtual_file_stats
NumOfWrites Die Gesamtzahl der in dieser Datei ausgegebenen Schreibvorgänge sys.dm_io_virtual_file_stats
ReadLatency Die E/A-Leselatenz für diese Datei sys.dm_io_virtual_file_stats
WriteLatency Die E/A-Schreiblatenz für diese Datei sys.dm_io_virtual_file_stats

Es ist mindestens 10 Minuten Datensammlung erforderlich, bevor eine Empfehlung generiert werden kann, aber um Ihre Arbeitsauslastung genau zu bewerten, wird empfohlen, die Datensammlung für eine Dauer auszuführen, die ausreichend lang ist, um sowohl die Nutzung auf dem Höchstwert als auch den Off-Peak-Verbrauch zu erfassen.

Um den Datensammlungsprozess zu initiieren, verbinden Sie zunächst die SQL-Quellinstanz in Azure Data Studio, und starten Sie dann den SQL-Migrations-Assistenten. Wählen Sie in Schritt 2 "Azure-Empfehlung abrufen" aus. Wählen Sie "Jetzt Leistungsdaten sammeln" aus, und wählen Sie einen Ordner auf Ihrem Computer aus, in dem die gesammelten Daten gespeichert werden.

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

Wichtig

Der Datensammlungsprozess wird zehn Minuten lang ausgeführt, um die erste Empfehlung zu generieren. Es ist wichtig, mit der Datensammlung zu beginnen, wenn Ihre aktive Datenbankworkload der Auslastung während Ihrer Produktionsszenarios entspricht.

Nachdem die erste Empfehlung generiert wurde, können Sie den Datensammlungsprozess fortsetzen, um die Empfehlungen zu präzisieren. Diese Option ist insbesondere nützlich, wenn Ihr Nutzungsverhalten im Laufe der Zeit variiert.

Der Datensammlungsprozess beginnt, sobald Sie "Start" ausgewählt haben. Alle 10 Minuten werden die gesammelten Datenpunkte aggregiert, und die maximale Mittel- und Varianz jedes Indikators wird in einen Satz von drei CSV-Dateien auf den Datenträger geschrieben.

In der Regel wird eine Gruppe von CSV-Dateien mit den folgenden Suffixen im ausgewählten Ordner angezeigt:

  • SQLServerInstance_CommonDbLevel_Counters.csv: Enthält statische Konfigurationsdaten zum Layout und metadaten der Datenbankdatei.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv: Enthält statische Daten zur Hardwarekonfiguration der Serverinstanz.
  • SQLServerInstance_PerformanceAggregated_Counters.csv: Enthält aggregierte Leistungsdaten, die häufig aktualisiert werden.

Lassen Sie Azure Data Studio während dieser Zeit geöffnet, obwohl Sie mit anderen Vorgängen fortfahren können. Sie können den Datensammlungsprozess jederzeit beenden, indem Sie zu dieser Seite zurückkehren und die Datensammlung beenden.

Generieren von Empfehlungen in der richtigen Größe

Wenn Sie bereits Leistungsdaten aus einer vorherigen Sitzung gesammelt oder ein anderes Tool (z. B. Datenbankmigrations-Assistent) verwendet haben, können Sie vorhandene Leistungsdaten importieren, indem Sie die Option auswählen, die ich bereits über die Leistungsdaten verfüge. Fahren Sie fort, um den Ordner auszuwählen, in dem Ihre Leistungsdaten (drei CSV-Dateien) gespeichert werden, und wählen Sie "Start" aus, um den Empfehlungsprozess zu initiieren.

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

Hinweis

Schritt eines des SQL-Migrations-Assistenten fordert Sie auf, eine Reihe von Datenbanken auszuwählen, die bewertet werden sollen, und dies sind die einzigen Datenbanken, die während des Empfehlungsprozesses berücksichtigt werden.

Der Leistungsdatensammlungsprozess sammelt jedoch Leistungsindikatoren für alle Datenbanken aus der SQL Server-Quellinstanz, nicht nur die ausgewählten.

Dies bedeutet, dass zuvor gesammelte Leistungsdaten verwendet werden können, um Empfehlungen für eine andere Teilmenge von Datenbanken wiederholt neu zu generieren, indem eine andere Liste in Schritt 1 angegeben wird.

Empfehlungsparameter

Es gibt mehrere konfigurierbare Einstellungen, die sich auf Ihre Empfehlungen auswirken können.

Screenshot that shows the recommendation parameters section.

Wählen Sie die Option "Parameter bearbeiten" aus, um diese Parameter entsprechend Ihren Anforderungen anzupassen.

Screenshot that shows the different recommendation parameters.

  • Skalierungsfaktor:
    Mit dieser Option können Sie einen Puffer bereitstellen, der auf jede Leistungsdimension angewendet werden soll. Diese Option umfasst Probleme wie die saisonale Nutzung, den kurzen Leistungsverlauf und die wahrscheinliche Erhöhung der zukünftigen Nutzung. Wenn Sie beispielsweise feststellen, dass eine CPU-Anforderung von vier virtuellen Kernen einen Skalierungsfaktor von 150 % aufweist, beträgt die tatsächliche CPU-Anforderung sechs virtuelle Kerne.

    Das Volumen des Standardskalierungsfaktors beträgt 100 %.

  • Prozentuale Auslastung:
    Das Quantil der Datenpunkte, die als Leistungsdaten verwendet werden sollen, werden aggregiert.

    Der Standardwert ist das 95. Perzentil.

  • Aktivieren von Vorschaufeatures:
    Mit dieser Option können Konfigurationen empfohlen werden, die möglicherweise noch nicht für alle Benutzer in allen Regionen verfügbar sind.

    Standardmäßig ist diese Option deaktiviert.

  • Elastische Empfehlung aktivieren:

    Diese Option verwendet ein alternatives Empfehlungsmodell, das personalisierte Preis-Leistungsprofilerstellung für bestehende On-Cloud-Kunden nutzt.

    Standardmäßig ist diese Option deaktiviert.

Wichtig

Der Prozess der Datensammlung wird beendet, wenn Sie Azure Data Studio schließen. Die bis zu diesem Zeitpunkt gesammelten Daten werden in Ihrem Ordner gespeichert.

Wenn Sie Azure Data Studio während der Datensammlung schließen, verwenden Sie eine der folgenden Optionen, um die Datensammlung neu zu starten:

  • Öffnen Sie Azure Data Studio erneut, und importieren Sie die Datendateien, die in Ihrem lokalen Ordner gespeichert sind. Generieren Sie dann eine Empfehlung aus den gesammelten Daten.
  • Öffnen Sie Azure Data Studio erneut, und starten Sie die Datensammlung mithilfe des Migrations-Assistenten erneut.

Mindestberechtigungen

Um die erforderlichen Systemansichten für die Leistungsdatensammlung abzufragen, sind bestimmte Berechtigungen für die sql Server-Anmeldung erforderlich, die für diese Aufgabe verwendet wird. Mithilfe des folgenden Skripts können Sie einen Benutzer mit minimalen Berechtigungen für die Bewertung und Leistungsdatensammlung erstellen:

-- 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];

Nicht unterstützte Szenarien und Einschränkungen

  • Azure Empfehlungen enthalten keine Preisschätzungen, da diese Situation je nach Region, Währung und Rabatten wie dem Azure-Hybridvorteil variieren kann. Um Preisschätzungen zu erhalten, verwenden Sie den Azure-Preisrechner, oder erstellen Sie eine SQL-Bewertung in Azure Migrate.
  • Empfehlungen für Azure SQL-Datenbank mit dem DTU-basierten Einkaufsmodell werden nicht unterstützt.
  • Derzeit werden Azure-Empfehlungen für Azure SQL-Datenbank serverlose Computeebene und Elastic Pools nicht unterstützt.

Problembehandlung

  • Keine Empfehlungen generiert
    • Wenn keine Empfehlungen generiert wurden, könnte diese Situation bedeuten, dass keine Konfigurationen identifiziert wurden, die die Leistungsanforderungen Ihrer Quellinstanz vollständig erfüllen können. Um zu sehen, warum eine bestimmte Größe, Dienstebene oder Hardwarefamilie disqualifiziert wurde:
      • Greifen Sie auf die Protokolle von Azure Data Studio zu, indem Sie den Ordner " > Alle Befehle öffnende Erweiterungsprotokolle > " anzeigen.
      • Navigieren Sie zu Microsoft.mssql > SqlAssessmentLogs > , um SkuRecommendationEvent.log zu öffnen
      • Das Protokoll enthält eine Ablaufverfolgung aller potenziellen Konfigurationen, die bewertet wurden, und den Grund, warum es nicht als berechtigte Konfiguration angesehen wurde: Screenshot that shows SKU recommendations log.
    • Versuchen Sie, die Empfehlung mit aktivierter elastischer Empfehlung neu zu generieren. Diese Option verwendet ein alternatives Empfehlungsmodell, das personalisierte Preis-Leistungs-Profilerstellung gegenüber vorhandenen On-Cloud-Kunden nutzt.

Nächste Schritte