Tutorial: Konfigurieren der Transaktionsreplikation zwischen verwalteten Azure SQL-Instanzen und SQL ServerTutorial: Configure transactional replication between Azure SQL Managed Instance and SQL Server

GILT FÜR: JaAzure SQL Managed Instance APPLIES TO: yesAzure SQL Managed Instance

In diesem Tutorial lernen Sie Folgendes:In this tutorial, you learn how to:

  • Konfigurieren einer verwalteten Instanz als Replikationsverleger.Configure a managed instance as a replication publisher.
  • Konfigurieren einer verwalteten Instanz als Replikationsverteiler.Configure a managed instance as a replication distributor.
  • Konfigurieren von SQL Server als Abonnent.Configure SQL Server as a subscriber.

Replikation zwischen einem Verleger/Verteiler einer verwalteten Instanz und einem SQL Server-Abonnenten

Dieses Tutorial ist für erfahrene Benutzer bestimmt. Es wird vorausgesetzt, dass sich Benutzer sowohl für verwaltete Instanzen als auch für SQL Server-VMs in Azure mit der Bereitstellung und Verbindungsherstellung auskennen.This tutorial is intended for an experienced audience and assumes that the user is familiar with deploying and connecting to both managed instances and SQL Server VMs within Azure. Daher werden bestimmte Schritte in diesem Tutorial nicht ausführlicher beschrieben.As such, certain steps in this tutorial are glossed over.

Weitere Informationen finden Sie in den Artikeln zu den Themen Verwaltete Azure SQL-Instanz – Übersicht und SQL-Transaktionsreplikation.To learn more, see the Azure SQL Managed Instance overview and SQL transactional replication articles.

Informationen zum Konfigurieren der Replikation zwischen einem Verleger einer verwalteten Instanz und einem Abonnenten einer verwalteten Instanz finden Sie unter Konfigurieren der Replikation in einer verwalteten Azure SQL-Datenbank-Instanzdatenbank.To configure replication between a managed instance publisher and a managed instance subscriber, see Configure transactional replication between two managed instances.

VoraussetzungenPrerequisites

Für dieses Tutorial wird Folgendes vorausgesetzt:To complete the tutorial, make sure you have the following prerequisites:

1. Erstellen der Ressourcengruppe1 - Create the resource group

Verwenden Sie den folgenden PowerShell-Codeausschnitt, um eine neue Ressourcengruppe zu erstellen:Use the following PowerShell code snippet to create a new resource group:

# set variables
$ResourceGroupName = "SQLMI-Repl"
$Location = "East US 2"

# Create a new resource group
New-AzResourceGroup -Name  $ResourceGroupName -Location $Location

2. Erstellen von zwei verwalteten Instanzen2 - Create two managed instances

Erstellen Sie in dieser neuen Ressourcengruppe mit dem Azure-Portal zwei neue verwaltete Instanzen.Create two managed instances within this new resource group using the Azure portal.

  • Der Name der verwalteten Verlegerinstanz sollte sql-mi-publisher lauten (zuzüglich einiger weiterer Zeichen zur zufälligen Benennung), und als Name des virtuellen Netzwerks sollte vnet-sql-mi-publisher verwendet werden.The name of the publisher managed instance should be sql-mi-publisher (along with a few characters for randomization), and the name of the virtual network should be vnet-sql-mi-publisher.

  • Der Name der verwalteten Verteilerinstanz sollte sql-mi-distributor lauten (zuzüglich einiger weiterer Zeichen zur zufälligen Benennung) und sich in demselben virtuellen Netzwerk wie die verwaltete Verlegerinstanz befinden.The name of the distributor managed instance should be sql-mi-distributor (along with a few characters for randomization), and it should be in the same virtual network as the publisher managed instance.

    Verwenden des Verleger-VNet für den Verteiler

Weitere Informationen zur Erstellung einer verwalteten Instanz finden Sie unter Erstellen einer verwalteten Azure SQL-Datenbank-Instanz.For more information about creating a managed instance, see Create a managed instance in the portal.

Hinweis

Der Einfachheit halber und aus dem Grund, dass es die am häufigsten verwendete Konfiguration ist, wird in diesem Tutorial empfohlen, die verwaltete Verteilerinstanz in demselben virtuellen Netzwerk anzuordnen, in dem sich auch der Verleger befindet.For the sake of simplicity, and because it is the most common configuration, this tutorial suggests placing the distributor managed instance within the same virtual network as the publisher. Es ist aber auch möglich, den Verteiler in einem separaten virtuellen Netzwerk zu erstellen.However, it's possible to create the distributor in a separate virtual network. Hierfür müssen Sie das VPN-Peering zwischen den virtuellen Netzwerken des Verlegers und Verteilers und anschließend zwischen den virtuellen Netzwerken des Verteilers und des Abonnenten konfigurieren.To do so, you will need to configure VPN peering between the virtual networks of the publisher and distributor, and then configure VPN peering between the virtual networks of the distributor and subscriber.

3. Erstellen einer SQL Server-VM3 - Create a SQL Server VM

Erstellen Sie im Azure-Portal einen virtuellen SQL Server-Computer (SQL Server-VM).Create a SQL Server virtual machine using the Azure portal. Die SQL Server-VM sollte über die folgenden Merkmale verfügen:The SQL Server virtual machine should have the following characteristics:

  • Name: sql-vm-subName: sql-vm-sub
  • Image: SQL Server 2016 oder höherImage: SQL Server 2016 or greater
  • Ressourcengruppe: wie bei der verwalteten InstanzResource group: the same as the managed instance
  • Virtuelles Netzwerk: sql-vm-sub-vnetVirtual network: sql-vm-sub-vnet

Weitere Informationen zum Bereitstellen einer SQL Server-VM in Azure finden Sie unter Schnellstart: Erstellen einer SQL Server-VM.For more information about deploying a SQL Server VM to Azure, see Quickstart: Create a SQL Server VM.

4. Konfigurieren des VPN-Peerings4 - Configure VPN peering

Konfigurieren Sie das VPN-Peering, um die Kommunikation zwischen dem virtuellen Netzwerk der zwei verwalteten Instanzen und dem virtuellen Netzwerk von SQL Server zu ermöglichen.Configure VPN peering to enable communication between the virtual network of the two managed instances, and the virtual network of SQL Server. Verwenden Sie hierzu den folgenden PowerShell-Codeausschnitt:To do so, use this PowerShell code snippet:

# Set variables
$SubscriptionId = '<SubscriptionID>'
$resourceGroup = 'SQLMI-Repl'
$pubvNet = 'sql-mi-publisher-vnet'
$subvNet = 'sql-vm-sub-vnet'
$pubsubName = 'Pub-to-Sub-Peer'
$subpubName = 'Sub-to-Pub-Peer'

$virtualNetwork1 = Get-AzVirtualNetwork `
  -ResourceGroupName $resourceGroup `
  -Name $pubvNet

 $virtualNetwork2 = Get-AzVirtualNetwork `
  -ResourceGroupName $resourceGroup `
  -Name $subvNet  

# Configure VPN peering from publisher to subscriber
Add-AzVirtualNetworkPeering `
  -Name $pubsubName `
  -VirtualNetwork $virtualNetwork1 `
  -RemoteVirtualNetworkId $virtualNetwork2.Id

# Configure VPN peering from subscriber to publisher
Add-AzVirtualNetworkPeering `
  -Name $subpubName `
  -VirtualNetwork $virtualNetwork2 `
  -RemoteVirtualNetworkId $virtualNetwork1.Id

# Check status of peering on the publisher VNet; should say connected
Get-AzVirtualNetworkPeering `
 -ResourceGroupName $resourceGroup `
 -VirtualNetworkName $pubvNet `
 | Select PeeringState

# Check status of peering on the subscriber VNet; should say connected
Get-AzVirtualNetworkPeering `
 -ResourceGroupName $resourceGroup `
 -VirtualNetworkName $subvNet `
 | Select PeeringState

Nachdem das VPN-Peering eingerichtet wurde, sollten Sie die Konnektivität testen, indem Sie SQL Server Management Studio (SSMS) auf SQL Server starten und mit beiden verwalteten Instanzen jeweils eine Verbindung herstellen.Once VPN peering is established, test connectivity by launching SQL Server Management Studio (SSMS) on SQL Server and connecting to both managed instances. Weitere Informationen zum Herstellen einer Verbindung mit einer verwalteten Instanz per SSMS finden Sie unter Herstellen einer Verbindung mit der verwalteten SQL-Instanz per SSMS.For more information on connecting to a managed instance using SSMS, see Use SSMS to connect to SQL Managed Instance.

Testen der Konnektivität mit den verwalteten Instanzen

5. Erstellen einer privaten DNS-Zone5 - Create a private DNS zone

Eine private DNS-Zone ermöglicht das DNS-Routing zwischen den verwalteten Instanzen und SQL Server.A private DNS zone allows DNS routing between the managed instances and SQL Server.

Erstellen einer privaten DNS-ZoneCreate a private DNS zone

  1. Melden Sie sich beim Azure-Portal an.Sign into the Azure portal.

  2. Wählen Sie die Option Ressource erstellen aus, um eine neue Azure-Ressource zu erstellen.Select Create a resource to create a new Azure resource.

  3. Suchen Sie auf dem Azure Marketplace nach private dns zone.Search for private dns zone on Azure Marketplace.

  4. Wählen Sie die Ressource Private DNS-Zone aus, die von Microsoft veröffentlicht wird, und anschließend Erstellen, um die DNS-Zone zu erstellen.Choose the Private DNS zone resource published by Microsoft and then select Create to create the DNS zone.

  5. Wählen Sie in der Dropdownliste das Abonnement und die Ressourcengruppe aus.Choose the subscription and resource group from the drop-down.

  6. Geben Sie einen beliebigen Namen für Ihre DNS-Zone an, z. B. repldns.com.Provide an arbitrary name for your DNS zone, such as repldns.com.

    Erstellen einer privaten DNS-Zone

  7. Klicken Sie auf Überprüfen + erstellen.Select Review + create. Überprüfen Sie die Parameter für Ihre private DNS-Zone, und wählen Sie anschließend Erstellen aus, um Ihre Ressource zu erstellen.Review the parameters for your private DNS zone and then select Create to create your resource.

Erstellen eines A-EintragsCreate an A record

  1. Navigieren Sie zu Ihrer neuen Privaten DNS-Zone, und wählen Sie Übersicht aus.Go to your new Private DNS zone and select Overview.

  2. Wählen Sie + Eintrag aus, um einen neuen A-Eintrag zu erstellen.Select + Record set to create a new A record.

  3. Geben Sie den Namen Ihrer SQL Server-VM und die private interne IP-Adresse an.Provide the name of your SQL Server VM as well as the private internal IP address.

    Konfigurieren eines A-Eintrags

  4. Wählen Sie OK aus, um den A-Eintrag zu erstellen.Select OK to create the A record.

  1. Navigieren Sie zu Ihrer neuen Privaten DNS-Zone, und wählen Sie Verknüpfungen virtueller Netzwerke aus.Go to your new Private DNS zone and select Virtual network links.

  2. Wählen Sie + Hinzufügen.Select + Add.

  3. Geben Sie einen Namen für die Verknüpfung an, z. B. Pub-link.Provide a name for the link, such as Pub-link.

  4. Wählen Sie in der Dropdownliste Ihr Abonnement und anschließend das virtuelle Netzwerk für Ihre verwaltete Verlegerinstanz aus.Select your subscription from the drop-down and then select the virtual network for your publisher managed instance.

  5. Aktivieren Sie das Kontrollkästchen neben Automatische Registrierung aktivieren.Check the box next to Enable auto registration.

    Erstellen einer VNet-Verknüpfung

  6. Wählen Sie OK aus, um eine Verknüpfung mit Ihrem virtuellen Netzwerk einzurichten.Select OK to link your virtual network.

  7. Wiederholen Sie diese Schritte, um einen Link für das virtuelle Abonnentennetzwerk mit einem Namen wie Sub-link hinzuzufügen.Repeat these steps to add a link for the subscriber virtual network, with a name such as Sub-link.

6. Erstellen eines Azure-Speicherkontos6 - Create an Azure storage account

Erstellen Sie ein Azure-Speicherkonto für das Arbeitsverzeichnis und anschließend im Speicherkonto eine Dateifreigabe.Create an Azure storage account for the working directory, and then create a file share within the storage account.

Kopieren Sie den Dateifreigabepfad im Format: \\storage-account-name.file.core.windows.net\file-share-nameCopy the file share path in the format of: \\storage-account-name.file.core.windows.net\file-share-name

Beispiel: \\replstorage.file.core.windows.net\replshareExample: \\replstorage.file.core.windows.net\replshare

Kopieren Sie die Verbindungszeichenfolge für den Speicherzugriffsschlüssel im folgenden Format: DefaultEndpointsProtocol=https;AccountName=<Storage-Account-Name>;AccountKey=****;EndpointSuffix=core.windows.netCopy the storage access key connection string in the format of: DefaultEndpointsProtocol=https;AccountName=<Storage-Account-Name>;AccountKey=****;EndpointSuffix=core.windows.net

Beispiel: DefaultEndpointsProtocol=https;AccountName=replstorage;AccountKey=dYT5hHZVu9aTgIteGfpYE64cfis0mpKTmmc8+EP53GxuRg6TCwe5eTYWrQM4AmQSG5lb3OBskhg==;EndpointSuffix=core.windows.netExample: DefaultEndpointsProtocol=https;AccountName=replstorage;AccountKey=dYT5hHZVu9aTgIteGfpYE64cfis0mpKTmmc8+EP53GxuRg6TCwe5eTYWrQM4AmQSG5lb3OBskhg==;EndpointSuffix=core.windows.net

Weitere Informationen finden Sie unter Verwalten von Speicherkonto-Zugriffsschlüsseln.For more information, see Manage storage account access keys.

7. Erstellen einer Datenbank7 - Create a database

Erstellen Sie eine neue Datenbank auf der verwalteten Verlegerinstanz.Create a new database on the publisher managed instance. Gehen Sie dazu folgendermaßen vor:To do so, follow these steps:

  1. Starten Sie SQL Server Management Studio unter on SQL Server.Launch SQL Server Management Studio on SQL Server.
  2. Stellen Sie eine Verbindung mit der verwalteten Instanz sql-mi-publisher her.Connect to the sql-mi-publisher managed instance.
  3. Öffnen Sie ein Fenster vom Typ Neue Abfrage, und führen Sie die folgende T-SQL-Abfrage aus, um die Datenbank zu erstellen.Open a New Query window and execute the following T-SQL query to create the database.
-- Create the databases
USE [master]
GO

-- Drop database if it exists
IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'ReplTutorial')
BEGIN
    DROP DATABASE ReplTutorial
END
GO

-- Create new database
CREATE DATABASE [ReplTutorial]
GO

-- Create table
USE [ReplTutorial]
GO
CREATE TABLE ReplTest (
   ID INT NOT NULL PRIMARY KEY,
   c1 VARCHAR(100) NOT NULL,
   dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO

-- Populate table with data
USE [ReplTutorial]
GO

INSERT INTO ReplTest (ID, c1) VALUES (6, 'pub')
INSERT INTO ReplTest (ID, c1) VALUES (2, 'pub')
INSERT INTO ReplTest (ID, c1) VALUES (3, 'pub')
INSERT INTO ReplTest (ID, c1) VALUES (4, 'pub')
INSERT INTO ReplTest (ID, c1) VALUES (5, 'pub')
GO
SELECT * FROM ReplTest
GO

8. Konfigurieren der Verteilung8 - Configure distribution

Nachdem die Verbindung hergestellt wurde und Sie über eine Beispieldatenbank verfügen, können Sie die Verteilung auf Ihrer verwalteten Instanz sql-mi-distributor konfigurieren.Once connectivity is established and you have a sample database, you can configure distribution on your sql-mi-distributor managed instance. Gehen Sie dazu folgendermaßen vor:To do so, follow these steps:

  1. Starten Sie SQL Server Management Studio unter on SQL Server.Launch SQL Server Management Studio on SQL Server.

  2. Stellen Sie eine Verbindung mit der verwalteten Instanz sql-mi-distributor her.Connect to the sql-mi-distributor managed instance.

  3. Öffnen Sie ein Fenster vom Typ Neue Abfrage, und führen Sie den folgenden Transact-SQL-Code aus, um die Verteilung auf der verwalteten Verteilerinstanz zu konfigurieren:Open a New Query window and run the following Transact-SQL code to configure distribution on the distributor managed instance:

    EXEC sp_adddistributor @distributor = 'sql-mi-distributor.b6bf57.database.windows.net', @password = '<distributor_admin_password>'
    
    EXEC sp_adddistributiondb @database = N'distribution'
    
    EXEC sp_adddistpublisher @publisher = 'sql-mi-publisher.b6bf57.database.windows.net', -- primary publisher
         @distribution_db = N'distribution',
         @security_mode = 0,
         @login = N'azureuser',
         @password = N'<publisher_password>',
         @working_directory = N'\\replstorage.file.core.windows.net\replshare',
         @storage_connection_string = N'<storage_connection_string>'
         -- example: @storage_connection_string = N'DefaultEndpointsProtocol=https;AccountName=replstorage;AccountKey=dYT5hHZVu9aTgIteGfpYE64cfis0mpKTmmc8+EP53GxuRg6TCwe5eTYWrQM4AmQSG5lb3OBskhg==;EndpointSuffix=core.windows.net'
    
    

    Hinweis

    Achten Sie darauf, dass Sie für den Parameter @working_directory nur umgekehrte Schrägstriche (\) verwenden.Be sure to use only backslashes (\) for the @working_directory parameter. Die Verwendung eines regulären Schrägstrichs (/) kann zu einem Fehler führen, wenn die Verbindung mit der Dateifreigabe hergestellt wird.Using a forward slash (/) can cause an error when connecting to the file share.

  4. Stellen Sie eine Verbindung mit der verwalteten Instanz sql-mi-publisher her.Connect to the sql-mi-publisher managed instance.

  5. Öffnen Sie ein Fenster vom Typ Neue Abfrage, und führen Sie den folgenden Transact-SQL-Code aus, um den Verteiler für den Verleger zu registrieren:Open a New Query window and run the following Transact-SQL code to register the distributor at the publisher:

    Use MASTER
    EXEC sys.sp_adddistributor @distributor = 'sql-mi-distributor.b6bf57.database.windows.net', @password = '<distributor_admin_password>'
    

9. Erstellen der Veröffentlichung9 - Create the publication

Nachdem die Verteilung konfiguriert wurde, können Sie nun die Veröffentlichung erstellen.Once distribution has been configured, you can now create the publication. Gehen Sie dazu folgendermaßen vor:To do so, follow these steps:

  1. Starten Sie SQL Server Management Studio unter on SQL Server.Launch SQL Server Management Studio on SQL Server.

  2. Stellen Sie eine Verbindung mit der verwalteten Instanz sql-mi-publisher her.Connect to the sql-mi-publisher managed instance.

  3. Erweitern Sie im Objekt-Explorer den Knoten Replikation, und klicken Sie mit der rechten Maustaste auf den Ordner Lokale Veröffentlichung.In Object Explorer, expand the Replication node and right-click the Local Publication folder. Wählen Sie Neue Veröffentlichung... aus.Select New Publication....

  4. Wählen Sie Weiter aus, um die Willkommensseite zu verlassen und den Vorgang fortzusetzen.Select Next to move past the welcome page.

  5. Wählen Sie auf der Seite Veröffentlichungsdatenbank die Datenbank ReplTutorial aus, die Sie zuvor erstellt haben.On the Publication Database page, select the ReplTutorial database you created previously. Wählen Sie Weiter aus.Select Next.

  6. Wählen Sie auf der Seite Publikationstyp die Option Transaktionsveröffentlichung aus.On the Publication type page, select Transactional publication. Wählen Sie Weiter aus.Select Next.

  7. Aktivieren Sie auf der Seite Artikel das Kontrollkästchen neben Tabellen.On the Articles page, check the box next to Tables. Wählen Sie Weiter aus.Select Next.

  8. Wählen Sie auf der Seite Tabellenzeilen filtern die Option Weiter aus, ohne Filter hinzuzufügen.On the Filter Table Rows page, select Next without adding any filters.

  9. Aktivieren Sie auf der Seite Momentaufnahme-Agent das Kontrollkästchen neben der Option Create snapshot immediately and keep the snapshot available to initialize subscriptions (Momentaufnahme sofort erstellen und zum Initialisieren von Abonnements vorhalten).On the Snapshot Agent page, check the box next to Create snapshot immediately and keep the snapshot available to initialize subscriptions. Wählen Sie Weiter aus.Select Next.

  10. Wählen Sie auf der Seite Agent-Sicherheit die Option Sicherheitseinstellungen... aus. Geben Sie die Anmeldeinformationen für die SQL Server-Anmeldung an, die für den Momentaufnahmen-Agent und die Verbindungsherstellung mit dem Verleger verwendet werden sollen.On the Agent Security page, select Security Settings.... Provide SQL Server login credentials to use for the Snapshot Agent, and to connect to the publisher. Wählen Sie OK aus, um die Seite Sicherheit für den Momentaufnahme-Agent zu schließen.Select OK to close the Snapshot Agent Security page. Wählen Sie Weiter aus.Select Next.

    Konfigurieren der Sicherheit für den Momentaufnahme-Agent

  11. Wählen Sie auf der Seite Aktionen des Assistenten die Option Veröffentlichung erstellen und (optional) Skriptdatei mit Schritten zur Veröffentlichungserstellung generieren aus, wenn Sie dieses Skript zur späteren Verwendung speichern möchten.On the Wizard Actions page, choose to Create the publication and (optionally) choose to Generate a script file with steps to create the publication if you want to save this script for later.

  12. Geben Sie Ihrer Veröffentlichung auf der Seite Assistenten abschließen den Namen ReplTest, und wählen Sie Weiter aus, um Ihre Veröffentlichung zu erstellen.On the Complete the Wizard page, name your publication ReplTest and select Next to create your publication.

  13. Aktualisieren Sie nach der Erstellung der Veröffentlichung im Objekt-Explorer den Knoten Replikation, und erweitern Sie Lokale Veröffentlichungen, um Ihre neue Veröffentlichung anzuzeigen.Once your publication has been created, refresh the Replication node in Object Explorer and expand Local Publications to see your new publication.

10. Erstellen des Abonnements10 - Create the subscription

Nachdem die Veröffentlichung erstellt wurde, können Sie das Abonnement erstellen.Once the publication has been created, you can create the subscription. Gehen Sie dazu folgendermaßen vor:To do so, follow these steps:

  1. Starten Sie SQL Server Management Studio unter on SQL Server.Launch SQL Server Management Studio on SQL Server.
  2. Stellen Sie eine Verbindung mit der verwalteten Instanz sql-mi-publisher her.Connect to the sql-mi-publisher managed instance.
  3. Öffnen Sie ein Fenster vom Typ Neue Abfrage, und führen Sie den folgenden Transact-SQL-Code aus, um das Abonnement und den Verteilungs-Agent hinzuzufügen.Open a New Query window and run the following Transact-SQL code to add the subscription and distribution agent. Verwenden Sie den DNS als Teil des Abonnentennamens.Use the DNS as part of the subscriber name.
use [ReplTutorial]
exec sp_addsubscription
@publication = N'ReplTest',
@subscriber = N'sql-vm-sub.repldns.com', -- include the DNS configured in the private DNS zone
@destination_db = N'ReplSub',
@subscription_type = N'Push',
@sync_type = N'automatic',
@article = N'all',
@update_mode = N'read only',
@subscriber_type = 0

exec sp_addpushsubscription_agent
@publication = N'ReplTest',
@subscriber = N'sql-vm-sub.repldns.com', -- include the DNS configured in the private DNS zone
@subscriber_db = N'ReplSub',
@job_login = N'azureuser',
@job_password = '<Complex Password>',
@subscriber_security_mode = 0,
@subscriber_login = N'azureuser',
@subscriber_password = '<Complex Password>',
@dts_package_location = N'Distributor'
GO

11. Testen der Replikation11 - Test replication

Nachdem die Replikation konfiguriert wurde, können Sie sie testen, indem Sie neue Elemente auf dem Verleger einfügen und beobachten, wie die Änderungen an den Abonnenten weitergegeben werden.Once replication has been configured, you can test it by inserting new items on the publisher and watching the changes propagate to the subscriber.

Führen Sie den folgenden T-SQL-Codeausschnitt aus, um die Zeilen auf dem Abonnenten anzuzeigen:Run the following T-SQL snippet to view the rows on the subscriber:

Use ReplSub
select * from dbo.ReplTest

Führen Sie den folgenden T-SQL-Codeausschnitt aus, um zusätzliche Zeilen auf dem Verleger einzufügen. Überprüfen Sie dann die Zeilen erneut auf dem Abonnenten.Run the following T-SQL snippet to insert additional rows on the publisher, and then check the rows again on the subscriber.

Use ReplTutorial
INSERT INTO ReplTest (ID, c1) VALUES (15, 'pub')

Bereinigen von RessourcenClean up resources

  1. Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe.Navigate to your resource group in the Azure portal.
  2. Wählen Sie die verwaltete(n) Instanz(en) und dann Löschen aus.Select the managed instance(s) and then select Delete. Geben Sie yes in das Textfeld ein, um zu bestätigen, dass Sie die Ressource löschen möchten, und wählen Sie dann Löschen aus.Type yes in the text box to confirm you want to delete the resource and then select Delete. Dieser Vorgang kann im Hintergrund einige Zeit in Anspruch nehmen. Bis der Vorgang abgeschlossen ist, können Sie den virtuellen Cluster oder andere abhängige Ressourcen nicht löschen.This process may take some time to complete in the background, and until it's done, you will not be able to delete the virtual cluster or any other dependent resources. Überwachen Sie den Löschvorgang auf der Registerkarte Aktivität, um zu bestätigen, dass die verwaltete Instanz gelöscht wurde.Monitor the delete in the Activity tab to confirm your managed instance has been deleted.
  3. Nachdem die verwaltete Instanz gelöscht wurde, löschen Sie den virtuellen Cluster, indem Sie ihn in der Ressourcengruppe auswählen und dann Löschen auswählen.Once the managed instance is deleted, delete the virtual cluster by selecting it in your resource group, and then choosing Delete. Geben Sie yes in das Textfeld ein, um zu bestätigen, dass Sie die Ressource löschen möchten, und wählen Sie dann Löschen aus.Type yes in the text box to confirm you want to delete the resource and then select Delete.
  4. Löschen Sie alle verbleibenden Ressourcen.Delete any remaining resources. Geben Sie yes in das Textfeld ein, um zu bestätigen, dass Sie die Ressource löschen möchten, und wählen Sie dann Löschen aus.Type yes in the text box to confirm you want to delete the resource and then select Delete.
  5. Löschen Sie die Ressourcengruppe, indem Sie die Option Ressourcengruppe löschen auswählen, geben Sie den Namen der Ressourcengruppe (myResourceGroup) ein, und wählen Sie dann Löschen aus.Delete the resource group by selecting Delete resource group, typing in the name of the resource group, myResourceGroup, and then selecting Delete.

Bekannte FehlerKnown errors

Windows-Anmeldungen werden nicht unterstütztWindows logins are not supported

Exception Message: Windows logins are not supported in this version of SQL Server.

Der Agent wurde mit einer Windows-Anmeldung konfiguriert, aber stattdessen muss eine SQL Server-Anmeldung verwendet werden.The agent was configured with a Windows login and needs to use a SQL Server login instead. Nutzen Sie die Seite Agentsicherheit unter Veröffentlichungseigenschaften, um die Anmeldeinformationen auf eine SQL Server-Anmeldung umzustellen.Use the Agent Security page of the Publication properties to change the login credentials to a SQL Server login.

Fehler beim Herstellen der Verbindung mit Azure StorageFailed to connect to Azure Storage

Connecting to Azure Files Storage '\\replstorage.file.core.windows.net\replshare' Failed to connect to Azure Storage '' with OS error: 53.

2019-11-19 02:21:05.07 Obtained Azure Storage Connection String for replstorage 2019-11-19 02:21:05.07 Connecting to Azure Files Storage '\replstorage.file.core.windows.net\replshare' 2019-11-19 02:21:31.21 Failed to connect to Azure Storage '' with OS error: 53.2019-11-19 02:21:05.07 Obtained Azure Storage Connection String for replstorage 2019-11-19 02:21:05.07 Connecting to Azure Files Storage '\replstorage.file.core.windows.net\replshare' 2019-11-19 02:21:31.21 Failed to connect to Azure Storage '' with OS error: 53.

Der Grund hierfür ist wahrscheinlich, dass Port 445 entweder in der Azure Firewall, der Windows-Firewall oder in beiden Firewalls nicht geöffnet ist.This is likely because port 445 is closed in either the Azure firewall, the Windows firewall, or both.

Connecting to Azure Files Storage '\\replstorage.file.core.windows.net\replshare' Failed to connect to Azure Storage '' with OS error: 55.

Dieser Fehler wird unter Umständen verursacht, wenn im Dateipfad für die Dateifreigabe anstelle eines umgekehrten Schrägstrichs ein regulärer Schrägstrich verwendet wird.Using a forward slash instead of backslash in the file path for the file share can cause this error.

  • Dies ist die richtige Vorgehensweise: \\replstorage.file.core.windows.net\replshareThis is okay: \\replstorage.file.core.windows.net\replshare
  • Dies kann zum Betriebssystemfehler 55 führen: '\\replstorage.file.core.windows.net/replshare'This can cause an OS 55 error: '\\replstorage.file.core.windows.net/replshare'

Verbindung mit Abonnent kann nicht hergestellt werdenCould not connect to Subscriber

The process could not connect to Subscriber 'SQL-VM-SUB Could not open a connection to SQL Server [53]. A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections.

Lösungsvorschläge:Possible solutions:

  • Stellen Sie sicher, dass Port 1433 geöffnet ist.Ensure port 1433 is open.
  • Stellen Sie sicher, dass TCP/IP für den Abonnenten aktiviert ist.Ensure TCP/IP is enabled on the subscriber.
  • Vergewissern Sie sich, dass der DNS-Name beim Erstellen des Abonnenten verwendet wurde.Confirm the DNS name was used when creating the subscriber.
  • Vergewissern Sie sich, dass Ihre virtuellen Netzwerke in der privaten DNS-Zone richtig verknüpft sind.Verify that your virtual networks are correctly linked in the private DNS zone.
  • Vergewissern Sie sich, dass Ihr A-Eintrag richtig konfiguriert ist.Verify your A record is configured correctly.
  • Vergewissern Sie sich, dass Ihr VPN-Peering richtig konfiguriert ist.Verify your VPN peering is configured correctly.

Keine Veröffentlichungen vorhanden, die Sie abonnieren könnenNo publications to which you can subscribe

Beim Hinzufügen eines neuen Abonnements mit dem Assistenten Neues Abonnement stellen Sie auf der Seite Veröffentlichung kann es vorkommen, dass keine Datenbanken und Veröffentlichungen als verfügbare Optionen aufgeführt sind. Unter Umständen wird die folgende Fehlermeldung angezeigt:When you're adding a new subscription using the New Subscription wizard, on the Publication page, you may find that there are no databases and publications listed as available options, and you might see the following error message:

There are no publications to which you can subscribe, either because this server has no publications or because you do not have sufficient privileges to access the publications.

Möglicherweise stimmt diese Fehlermeldung, und für den Verleger, mit dem Sie die Verbindung hergestellt haben, sind wirklich keine Veröffentlichungen verfügbar. Es kann auch sein, dass sie nicht über ausreichende Berechtigungen verfügen. Dieser Fehler kann ggf. aber auch verursacht werden, weil eine ältere Version von SQL Server Management Studio verwendet wird.While it's possible that this error message is accurate, and there really aren't publications available on the publisher you connected to, or you're lacking sufficient permissions, this error could also be caused by an older version of SQL Server Management Studio. Versuchen Sie, ein Upgrade auf SQL Server Management Studio 18.0 oder höher durchzuführen, um diese Grundursache auszuschließen.Try upgrading to SQL Server Management Studio 18.0 or greater to rule this out as a root cause.

Nächste SchritteNext steps

Aktivieren der SicherheitsfeaturesEnable security features

Unter Was ist die verwaltete SQL-Instanz? finden Sie eine umfassende Liste mit Schutzmöglichkeiten für Ihre Datenbank.See the What is Azure SQL Managed Instance? article for a comprehensive list of ways to secure your database. Folgende Sicherheitsfeatures werden behandelt:The following security features are discussed:

Funktionen verwalteter SQL-InstanzenSQL Managed Instance capabilities

Eine vollständige Übersicht über die Funktionen einer verwalteten Instanz finden Sie hier:For a complete overview of managed instance capabilities, see: