Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie Probleme mit einem link zwischen SQL Server und Azure SQL Managed Instance überwachen und beheben.
Sie können den Status des Links mit Transact-SQL (T-SQL), Azure PowerShell oder dem Azure CLI überprüfen. Wenn Probleme auftreten, können Sie die Fehlercodes verwenden, um das Problem zu beheben.
Viele Probleme beim Erstellen der Verbindung können behoben werden, indem das Netzwerk zwischen den beiden Instanzen überprüft und die Umgebung für die Verbindung ordnungsgemäß vorbereitet wurde.
Anfängliche Aussaat
Beim Einrichten einer Verbindung zwischen SQL Server und Azure SQL Managed Instance gibt es eine anfängliche Seedingphase, bevor die Datenreplikation beginnt. Die Seedingphase zu Beginn ist der längste und teuerste Teil des Vorgangs. Sobald das anfängliche Seeding abgeschlossen ist, werden die Daten synchronisiert, und nur nachfolgende Datenänderungen werden repliziert. Die Zeit, die für das anfängliche Seeding benötigt wird, ist abhängig von der Größe der Daten, der Intensität der Workloads auf den primären Datenbanken und der Geschwindigkeit der Verbindung zwischen den Netzwerken der primären und der sekundären Replikate.
Wenn die Geschwindigkeit der Verbindung zwischen den beiden Instanzen langsamer als erforderlich ist, wirkt sich dies wahrscheinlich erheblich auf die Zeit für das Seeding aus. Sie können die angegebene Seedinggeschwindigkeit, die Gesamtgröße der Daten und die Verknüpfungsgeschwindigkeit verwenden, um zu schätzen, wie lange die anfängliche Seedingphase dauert, bevor die Datenreplikation beginnt. Bei einer einzelnen Datenbank mit 100 GB würde die anfängliche Startphase etwa 1,2 Stunden dauern, wenn der Link 84 GB pro Stunde pushen kann und keine anderen Datenbanken auf eine andere Verknüpfung gesetzt werden. Wenn über die Verbindung nur 10 GB pro Stunde übertragen werden können, dauert das Seeding einer 100-GB-Datenbank ungefähr 10 Stunden. Wenn mehrere Datenbanken über mehrere Verknüpfungen repliziert werden sollen, wird das Seeding parallel ausgeführt, und in Kombination mit einer langsamen Verbindungsgeschwindigkeit kann die anfängliche Seedingphase erheblich länger dauern, insbesondere, wenn das parallele Seeding von Daten aus allen Datenbanken die verfügbare Linkbandbreite überschreitet.
Die anfängliche Seedingphase ist nicht widerstandsfähig für Netzwerkunterbrechungen und Instanzwartungs- oder Failovervorgänge. Wenn die bidirektionale Verbindung zwischen SQL Server und SQL Managed Instance vorübergehend verloren geht oder wenn SQL Server oder SQL Managed Instance während der ersten Seeding-Phase neu gestartet oder fehlgeschlagen ist, wird das Seeding neu gestartet.
Von Bedeutung
Die anfängliche Phase des Seedings kann bei extrem niedrigen Geschwindigkeiten oder stark beanspruchten Verbindungen Tage dauern. In diesem Fall kann beim Erstellen der Verbindung eine Zeitüberschreitung auftreten. Das Erstellen der Verbindung wird nach 6 Tagen automatisch abgebrochen.
Überprüfen des Verknüpfungszustands
Wenn Probleme mit einem Link auftreten, können Sie SQL Server Management Studio (SSMS), Transact-SQL (T-SQL), Azure PowerShell oder die Azure CLI verwenden, um Informationen zum aktuellen Status des Links abzurufen.
Verwenden Sie T-SQL für schnelle Statusdetails des Verknüpfungszustands, und verwenden Sie dann Azure PowerShell oder die Azure CLI, um umfassende Informationen zum aktuellen Status des Links zu erhalten.
Die Linküberwachung ist ab SQL Server Management Studio (SSMS) 21.0 (Vorschau) verfügbar.
Führen Sie die folgenden Schritte aus, um den Linkstatus in SSMS zu überprüfen:
Stellen Sie eine Verbindung mit einem Replikat her, das den Link hosten soll.
Erweitern Sie in Objekt-ExplorerAlways On High Availability, und erweitern Sie dann Availability Groups.
Klicken Sie mit der rechten Maustaste auf den Namen des Links, und wählen Sie dann "Eigenschaften " aus, um das Fenster " Verknüpfungseigenschaften " zu öffnen:
Im Fenster " Verknüpfungseigenschaften " werden nützliche Informationen zum Link angezeigt, z. B. Replikatinformationen, Linkstatus und Ablaufdatum des Endpunktzertifikats:
Der Wert replicaState beschreibt den aktuellen Link. Wenn der Zustand auch Error enthält, ist während des im Zustand aufgeführten Vorgangs ein Fehler aufgetreten. Beispielsweise gibt LinkCreationError an, dass beim Erstellen der Verknüpfung ein Fehler aufgetreten ist.
Einige mögliche replicaState-Werte sind:
- CreatingLink: erstes Seeding
- LinkSynchronizing: Die Datenreplikation wird durchgeführt.
- LinkFailoverInProgress: Failover wird ausgeführt
Eine vollständige Liste der Verbindungsstatuseigenschaften erhalten Sie mit dem REST-API-Befehl Verteilte Verfügbarkeitsgruppen – GET.
Geplante Failoverzeiten laufen ab
Wenn das sekundäre Replikat nicht mit den Änderungen des primären Replikats Schritt halten kann und hinterherhinkt, kann ein geplantes Failover zeitlich überschreiten und fehlgeschlagen einen Fehler erzeugen.
Gehen Sie folgendermaßen vor, um das Problem zu beheben:
- Überprüfen Sie den Replikationsabstand zwischen den beiden Instanzen.
- Wenn die Replikationsverzögerung hoch ist, warten Sie, bis die sekundäre Replik die primäre Replik einholt. Möglicherweise müssen Sie zusätzliche Schritte zur Problembehandlung ausführen, wenn die Verzögerung weiterhin besteht, z. B. das Anhalten von Arbeitslasten für das primäre Replikat, die Verbesserung des Verbindungsnetzwerkdurchsatzes zwischen den beiden Instanzen oder das Erhöhen der Ressourcenkapazität für das sekundäre Replikat.
- Die einfachste Möglichkeit zum Beenden von Arbeitslasten in einem SQL Server primären Replikat ist das Ausschneiden von Anwendungsverbindungen mit der Instanz.
- Nachdem das sekundäre Replikat das primäre Replikat erfasst hat, versuchen Sie es erneut mit dem geplanten Failover.
Fehler beim Initialisieren eines Links
Der folgende Fehler kann beim Initialisieren eines Links auftreten (Linkstatus: LinkInitError):
- Fehler 41962: Vorgang abgebrochen, da der Link innerhalb von 5 Minuten nicht hergestellt wurde. Überprüfen Sie die Netzwerkkonnektivität, und versuchen Sie es erneut.
- Error 41973: Link kann nicht hergestellt werden, da endpoint-Zertifikat von SQL Server nicht ordnungsgemäß in Azure SQL Managed Instance importiert wurde.
- Fehler 41974: Link kann nicht hergestellt werden, da endpoint-Zertifikat von SQL Managed Instance nicht ordnungsgemäß in SQL Server importiert wurde.
- Fehler 41976: Die Verfügbarkeitsgruppe reagiert nicht. Überprüfen Sie Namen und Konfigurationsparameter, und versuchen Sie es erneut.
- Fehler 41986: Verknüpfung kann nicht hergestellt werden, da die Verbindung fehlgeschlagen ist oder das sekundäre Replikat nicht reagiert. Überprüfen Sie Namen, Konfigurationsparameter und Netzwerkkonnektivität, und versuchen Sie es dann erneut.
- Fehler 47521: Verknüpfung kann nicht hergestellt werden, da der sekundäre Server die Anforderung nicht empfangen hat. Stellen Sie sicher, dass die Verfügbarkeitsgruppe und Datenbanken auf dem primären Server fehlerfrei sind, und versuchen Sie es erneut.
Fehler beim Erstellen eines Links
Die folgenden Fehler können beim Erstellen eines Links auftreten (Linkstatus: LinkCreationError):
- Fehler 41977: Die Zieldatenbank reagiert nicht. Überprüfen Sie die Linkparameter, und versuchen Sie es erneut.
-
Vorzeitiges Abschneiden des Protokolls: Wenn das Transaktionsprotokoll vor dem Ende des anfänglichen Seedings abgeschnitten wird, wird wahrscheinlich einen der folgenden Fehler angezeigt:
- Fehler 1408: Fehler bei der Replikation in der Remotedatenbank und kann aufgrund fehlender Protokolldateiüberlappungen zwischen primärem und sekundärem Replikat nicht wiederhergestellt werden. Löschen Sie den vorhandenen Link, und erstellen Sie einen neuen Link, um die Replikation neu zu starten.
- Fehler 1412: Replikation zur Remotedatenbank ist fehlgeschlagen und kann aufgrund einer Protokolldateigrößen-Nichtübereinstimmung mit dem primären Replikat nicht wiederhergestellt werden. Löschen Sie den vorhandenen Link, und erstellen Sie einen neuen Link, um die Replikation neu zu starten.
Fehler 1412
Wenn Sie zuerst einen Link erstellen, wird im ersten Teil des Prozesses eine vollständige Sicherung der Datenbank vom primären Replikat zum sekundären Replikat erstellt. Nachdem das Seeding der vollständigen Sicherung abgeschlossen ist, beginnt der Link, Daten zu replizieren, indem differenzielle Daten vom primären Replikat auf das sekundäre Replikat angewendet werden. Dieser Vorgang wird unbegrenzt fortgesetzt, bis ein Failoverbefehl ausgegeben wird oder der Link entfernt wird.
Wenn beim anfänglichen Seeding der vollständigen Sicherung eine Transaktionsprotokollsicherung für das primäre Replikat erfolgt, wird das Transaktionsprotokoll abgeschnitten. Die Verknüpfungserstellung schlägt mit Fehler 1412 fehl, da die daten im Transaktionsprotokoll, die für das anfängliche Seeding erforderlich sind, nicht mehr verfügbar sind. Wenn Fehler 1412 im Fehlerprotokoll des SQL Servers auf Azure SQL Managed Instance angezeigt wird, müssen Sie den Link löschen und neu erstellen.
Um dieses Problem vorab zu vermeiden, unterbrechen Sie Transaktionsprotokollsicherungen während der ersten Seedingphase.
Wenn Transaktionsprotokollsicherungen während der anfänglichen Seedingphase erforderlich sind, insbesondere für sehr große Datenbanken, können Sie auswählen, dass protokollabkürzungen manuell verhindert oder der Prozess mit einem T-SQL-Skript automatisiert wird, um Protokollsicherungen in kritischen Phasen automatisch anzuhalten und wenn dies sicher ist.
Manuelle Verhinderung des Abschneidens von Protokollen
Die Schritte in diesem Abschnitt veranschaulichen das Öffnen einer Transaktion mit einer Dummy-Tabelle, um das Abschneiden von Protokollen während der ersten Seedingphase zu verhindern. Dieser Vorgang erfordert eine manuelle Überwachung des Fortschritts beim Seeding und sorgfältiges Timing, um sicherzustellen, dass die Protokollverkürzung verhindert wird, bis das Seeding abgeschlossen ist.
Seeding-Fortschritt überwachen. Sie können die folgende T-SQL-Abfrage verwenden, um den Fortschritt des anfänglichen Seedings zu überwachen:
SELECT * FROM sys.dm_exec_requests WHERE database_id = @dbId AND command = 'VDI_CLIENT_WORKER'Wenn das Seeding sich der 90% Marke nähert, geben Sie in einer Dummy-Tabelle einen
BEGIN TRANBefehl aus, ohne ein Commit durchzuführen. Lassen Sie die Transaktion offen, um das Trunkieren der Protokolle zu verhindern.Überwachen Sie den Speicherplatz des Transaktionsprotokolls sorgfältig, um sicherzustellen, dass sie die Speicherkapazität nicht überschreitet, während die Transaktion geöffnet ist.
Sobald das Seeding 100% erreicht hat, führen Sie die Transaktion mit
COMMIT TRAN.
Führen Sie z. B. jedes Mal, bevor das anfängliche Seeding 90%erreicht, den folgenden Befehl aus, um eine Dummytabelle zu erstellen, um Fehler 1412 zu vermeiden:
-- Create table
CREATE TABLE Prevent1412
(
Id INT,
CreatedAt DATETIME
);
Führen Sie dann, wenn das Seeding fast abgeschlossen ist, den folgenden Befehl aus, um die Log-Trunkierung zu verhindern:
BEGIN TRAN;
INSERT INTO Prevent1412 (Id, CreatedAt)
VALUES (1, GETDATE());
Vorsicht
Nachdem die Transaktion begonnen hat, wird das Transaktionsprotokoll nicht mehr verkleinert. Überwachen Sie daher sorgfältig den Speicherplatz des Transaktionsprotokolls, damit es die Speicherplatzkapazität nicht überschreitet, während die Transaktion aktiv ist.
Nach Abschluss des Seedings können Sie die Transaktion abschließen, um das Protokoll zu kürzen.
COMMIT TRAN;
Nach Abschluss der Migration können Sie die Tabelle 'Dummy' löschen.
DROP TABLE Prevent1412;
Automatisieren von automatischen Pausierungen bei Protokollsicherungen
Alternativ können Sie den Prozess automatisieren, um Protokollsicherungen in kritischen Phasen automatisch anzuhalten, wenn es mit einem T-SQL-Skript sicher ist.
Das folgende Skript kann ausgeführt werden, bevor die Migration beginnt:
-- Get last backup date
SELECT TOP 1 @lastBackupTime = b.backup_finish_date
FROM master.sys.sysdatabases d
LEFT OUTER JOIN msdb..backupSET b
ON b.database_name = d.name
AND b.type = 'L'
WHERE d.name = @dbName
ORDER BY backup_finish_date DESC
SELECT @diffInMins = DATEDIFF(minute, @lastBackupTime, CURRENT_TIMESTAMP);
-- Get database id and group database id
SELECT @agDbId = group_database_id, @dbId = database_id FROM sys.databases WHERE name = @dbName
-- If there is no group database id, no need for checks
IF (@agDbId IS NOT NULL)
BEGIN
-- Get last seeding start time and check if backup (VDI client) is actually running
SELECT TOP 1 @seedingStartTime = start_time, @state = current_state, @agDbId = ag_db_id FROM sys.dm_hadr_automatic_seeding ORDER BY start_time DESC
IF (@state = 'PENDING' OR @state = 'CHECK_IF_SEEDING_NEEDED' OR @state = 'LIMIT_CONCURRENT_BACKUPS')
SET @seedingStarting = 1
ELSE
SET @seedingStarting = 0
SELECT @backupWorkers = COUNT(*) FROM sys.dm_exec_requests WHERE database_id = @dbId AND command = 'VDI_CLIENT_WORKER'
-- Check if seeding is done by looking at remote replica state and health
SELECT TOP 1 @db_state = synchronization_state_desc, @db_health = synchronization_health_desc FROM sys.dm_hadr_database_replica_states WHERE database_id = @dbId AND is_local = 0
IF (@db_state = N'SYNCHRONIZING' AND @db_health = N'HEALTHY')
SET @seedingDone = 1
ELSE
SET @seedingDone = 0
END
-- If X minutes has passed since last log backup, do it, we don't want to wait anymore
IF (@alreadyFailed = 1 or @diffInMins > {set_minutes})
BEGIN
{do_log_backup}
SET @alreadyFailed = 1
CONTINUE;
END
-- If seeding has started and finished take log backups
IF ((@agDbId IS NOT NULL) AND (@seedingStartTime IS NOT NULL) AND (@startTime < @seedingStartTime) AND (@seedingDone = 1))
BEGIN
{do_log_backup}
SET @alreadyFailed = 1
CONTINUE;
END
-- If database is not in ag or
-- If seeding has not started or
-- If seeding is ongoing
-- Take log backups
IF ((@agDbId IS NULL) OR (@seedingStartTime IS NULL) OR (@startTime > @seedingStartTime) OR (@seedingStarting = 1) or (@backupWorkers > 0))
BEGIN
{do_log_backup}
CONTINUE;
END
Inkonsistenter Zustand nach erzwungenem Failover
Nach einem erzwungenen Failover kann ein Split Brain-Szenario auftreten, bei dem sich beide Replikate in der primären Rolle befinden und die Verbindung in einem inkonsistenten Zustand bleibt. Dies kann passieren, wenn Sie während einer Katastrophe auf das sekundäre Replikat umschalten und das primäre Replikat wieder online geht.
Vergewissern Sie sich zunächst, dass Sie es sich um ein Split Brain-Szenario handelt. Dazu können Sie SQL Server Management Studio (SSMS) oder Transact-SQL (T-SQL) verwenden.
Stellen Sie eine Verbindung zu SQL Server und SQL Managed Instance in SSMS her, und erweitern Sie dann im Objekt-Explorer unter dem Knoten der VerfügbarkeitsgruppeVerfügbarkeitsreplikate in Always On High Availability. Wenn zwei verschiedene Replikate als (Primary) aufgeführt werden, handelt es sich um ein Split Brain-Szenario.
Alternativ können Sie das folgende T-SQL-Skript auf both SQL Server ausführen und SQL Managed Instance, um die Rolle der Replikate zu überprüfen:
-- Execute on SQL Server and SQL Managed Instance
USE master
DECLARE @link_name varchar(max) = '<DAGName>'
SELECT
ag.name [Link name],
rs.role_desc [Link role]
FROM
sys.availability_groups ag
JOIN sys.dm_hadr_availability_replica_states rs
ON ag.group_id = rs.group_id
WHERE
rs.is_local = 1 AND ag.is_distributed = 1 AND ag.name = @link_name
GO
Wenn für beide Instanzen PRIMARY in der Spalte Verbindungsrolle steht, handelt es sich um ein Split Brain-Szenario.
Um den Split Brain-Zustand aufzuheben, führen Sie zuerst eine Sicherung des Replikats durch, das ursprünglich über die primäre Rolle verfügte. Wenn der ursprüngliche Primärserver ein SQL Server gewesen ist, nehmen Sie ein Tail-Protokollsicherung vor. Wenn die ursprüngliche primäre Instanz eine SQL Managed Instance war, nehmen Sie eine copy-only vollständige Sicherung. Nachdem die Sicherung abgeschlossen ist, setzen Sie die verteilte Verfügbarkeitsgruppe auf die sekundäre Rolle für das Replikat fest, das ursprünglich die primäre Rolle innehatte, nun aber die neue sekundäre Rolle übernehmen wird.
Angenommen, Sie haben ein Failover Ihrer SQL Server-Arbeitslast zu einer Azure SQL Managed Instance erzwungen, und Sie beabsichtigen, Ihre Arbeitslast weiterhin auf der SQL Managed Instance auszuführen, dann nehmen Sie eine Sicherung für das Tail-Protokoll auf dem SQL Server und legen die Verteilte Verfügbarkeitsgruppe in die sekundäre Rolle für den SQL Server fest, wie im folgenden Beispiel:
--Execute on SQL Server
USE master
ALTER AVAILABILITY GROUP [<DAGName>]
SET (ROLE = SECONDARY)
GO
Führen Sie als Nächstes ein geplantes manuelles Failover von SQL Managed Instance zu SQL Server aus, indem Sie den Link verwenden, z. B. das folgende Beispiel:
--Execute on SQL Managed Instance
USE master
ALTER AVAILABILITY GROUP [<DAGName>] FAILOVER
GO
Abgelaufenes Zertifikat
Es ist möglich, dass das Zertifikat, das für den Link verwendet wird, abläuft. Wenn das Zertifikat abläuft, schlägt der Link fehl. Um dieses Problem zu beheben, erneuern Sie das Zertifikat.
Bekannte Probleme nach der Migration zu SQL Managed Instance
Berücksichtigen Sie die folgenden bekannten Probleme nach der Migration zu Azure SQL Managed Instance:
Wiederherstellen von Vorgangsfehlern nach der Migration zu SQL Managed Instance
Wenn Sie eine Datenbank in einer Azure SQL Managed Instance von SQL Server 2019 und höheren Versionen mit aktivierter accelerated database recovery migrieren, aber der beständige Versionsspeicher (PVS) auf einen anderen Speicherort als die PRIMARY-Dateigruppe konfiguriert ist, können Fehler bei Wiederherstellungsoperationen in der verwalteten SQL-Zielinstanz auftreten.
Um dieses Problem zu umgehen, stellen Sie sicher, dass Sie den persistent-Versionsspeicher (PVS) auf PRIMARY für die SQL Server Quelldatenbank festlegen, bevor Sie sie zu SQL Managed Instance migrieren. Wenn Sie die Datenbank bereits migriert haben, ohne die PVS auf PRIMARY festzulegen, können Sie diese Einstellung in der Quelldatenbank auf dem SQL Server vornehmen und die Datenbank dann erneut zur SQL Managed Instance migrieren.
Die beschleunigte Datenbankwiederherstellung kann nach der Migration zu SQL Managed Instance nicht verwendet werden.
Ab SQL Server 2019 können Sie, wenn Sie eine Datenbank zu Azure SQL Managed Instance migrieren und die Quelldatenbank Accelerated database recovery deaktiviert ist, keine beschleunigte Datenbankwiederherstellung für die verwaltete SQL-Zielinstanz verwenden.
Um dieses Problem zu umgehen, vergewissern Sie sich, dass Sie die beschleunigte Datenbankwiederherstellung aktivieren für die SQL Server Quelldatenbank, bevor Sie sie zu SQL Managed Instance migrieren. Wenn Sie die Datenbank bereits migriert haben, ohne eine beschleunigte Datenbankwiederherstellung zu aktivieren, können Sie sie für die Quelldatenbank SQL Server aktivieren und dann die Datenbank erneut zu sql managed instance migrieren.
SQL Server 2017 und frühere Versionen unterstützen keine beschleunigte Datenbankwiederherstellung, daher gilt dieses Problem nicht für Datenbanken, die aus diesen Versionen von SQL Server migriert wurden.
Der Dienstbroker kann nach der Migration zu SQL Managed Instance nicht verwendet werden.
Wenn Sie eine Datenbank zu Azure SQL Managed Instance migrieren und ServiceBroker in der Quelldatenbank deaktiviert ist, können Sie den Dienstbroker nicht für die verwaltete SQL-Zielinstanz verwenden.
Um dieses Problem zu umgehen, stellen Sie sicher, dass Sie service broker für die Quelldatenbank SQL Server aktivieren, bevor Sie sie zu SQL Managed Instance migrieren. Wenn Sie die Datenbank bereits migriert haben, ohne den Service Broker zu aktivieren, können Sie sie für die Quelldatenbank SQL Server aktivieren und dann die Datenbank erneut zu SQL Managed Instance migrieren.
Netzwerkkonnektivität testen
Bidirektionale Netzwerkkonnektivität zwischen SQL Server und SQL Managed Instance ist erforderlich, damit die Verbindung funktioniert. Nachdem Sie Ports auf der SQL Server-Seite geöffnet und eine NSG-Regel auf der SQL Managed Instance-Seite konfiguriert haben, testen Sie die Konnektivität entweder mithilfe von SQL Server Management Studio (SSMS) oder Transact-SQL.
Testen Sie das Netzwerk, indem Sie einen temporären SQL-Agent-Auftrag für SQL Server und SQL Managed Instance erstellen, um die Verbindung zwischen den beiden Instanzen zu überprüfen. Wenn Sie die Netzwerküberprüfung in SSMS verwenden, wird der Auftrag automatisch für Sie erstellt und nach Abschluss des Tests gelöscht. Sie müssen den SQL-Agent-Auftrag manuell löschen, wenn Sie Ihr Netzwerk mithilfe von T-SQL testen.
Anmerkung
Das Ausführen von PowerShell-Skripts durch den SQL Server-Agent für SQL Server für Linux wird derzeit nicht unterstützt, sodass es derzeit nicht möglich ist, Test-NetConnection aus dem SQL Server-Agent Auftrag auf SQL Server für Linux auszuführen.
Um den SQL-Agent zum Testen der Netzwerkkonnektivität zu verwenden, benötigen Sie die folgenden Anforderungen:
- Der Benutzer, der den Test durchführt, muss über Permissionen verfügen, um einen Auftrag zu erstellen (entweder als sysadmin oder gehört zur SQLAgentOperator-Rolle für
msdb) für SQL Server und SQL Managed Instance. - Der SQL Server-Agent-Dienst muss auf dem SQL Server ausgeführt werden. Da der Agent standardmäßig auf SQL Managed Instance aktiviert ist, ist keine zusätzliche Aktion erforderlich.
Beachte Folgendes:
- Um falsch negative Ergebnisse zu vermeiden, müssen alle Firewalls entlang des Netzwerkpfads Internet Control Message Protocol (ICMP)-Datenverkehr zulassen.
- Um falsch positive Ergebnisse zu vermeiden, müssen alle Firewalls entlang des Netzwerkpfads Datenverkehr im proprietären SQL Server UCS-Protokoll zulassen. Das Blockieren des Protokolls kann zu einem erfolgreichen Verbindungstest führen, aber der Link kann nicht erstellt werden.
- Erweiterte Firewall-Setups mit Schutzschienen auf Paketebene müssen ordnungsgemäß konfiguriert werden, um den Datenverkehr zwischen SQL Server und SQL Managed Instance ordnungsgemäß zuzulassen.
Führen Sie die folgenden Schritte aus, um die Netzwerkkonnektivität zwischen SQL Server und SQL Managed Instance in SSMS zu testen:
Stellen Sie eine Verbindung mit der Instanz her, die als primäres Replikat in SSMS dient.
Erweitern Sie in Objekt-Explorer Datenbanken, und klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie mit der sekundären Datenbank verknüpfen möchten. Wählen Sie Tasks>Azure SQL Managed Instance link>Test Connection aus, um den Assistenten Network Checker zu öffnen:
Wählen Sie Weiter auf der Seite Einführung des Assistenten für die Netzwerküberprüfung aus.
Wenn alle Anforderungen auf der Seite Voraussetzungen erfüllt sind, wählen Sie Weiter aus. Sorgen Sie andernfalls dafür, dass allen nicht erfüllten Voraussetzungen entsprochen wird, und wählen Sie dann Überprüfung erneut ausführen aus.
Wählen Sie auf der Seite AnmeldenAnmelden aus, um eine Verbindung mit einer anderen Instanz herzustellen, die als sekundäres Replikat dient. Wählen Sie Weiter aus.
Überprüfen Sie die Details auf der Seite "Netzwerkoptionen angeben" und geben Sie ggf. eine IP-Adresse an. Wählen Sie Weiter aus.
Überprüfen Sie auf der Seite Ergebnisse die Aktionen, die der Assistent ausführt, und wählen Sie dann Fertig stellen aus, um die Verbindung zwischen den beiden Replikaten zu testen.
Überprüfen Sie die Seite Ergebnisse, um die Konnektivität zwischen den beiden Replikaten zu überprüfen, und wählen Sie dann Schließen aus, um den Vorgang zu beenden.
Vorsicht
Fahren Sie mit den nächsten Schritten nur fort, wenn Sie die Netzwerkkonnektivität zwischen Ihrer Quell- und Zielumgebung überprüft haben. Andernfalls beheben Sie Probleme mit der Netzwerkkonnektivität, bevor Sie fortfahren.
Verwandte Inhalte
Weitere Informationen zum Linkfeature finden Sie in den folgenden Ressourcen: