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:
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:
- Herunterladen und Installieren von Azure Data Studio.
- Installieren der Azure SQL-Migrationserweiterung aus Azure Data Studio Marketplace.
- Stellen Sie sicher, dass die Anmeldung, die Sie zum Verbinden der SQL Server-Quellinstanz verwenden, über die Mindestberechtigungen verfügt.
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.
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.
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.
Wählen Sie die Option "Parameter bearbeiten" aus, um diese Parameter entsprechend Ihren Anforderungen anzupassen.
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:
- 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.
- 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:
Nächste Schritte
- Erfahren Sie, wie Sie Datenbanken mit der Azure SQL-Migrationserweiterung für Azure Data Studio migrieren.