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.
Die Sicherheit des Dienstbrokerdialogs sollte für Ereignisbenachrichtigungen konfiguriert werden, die Nachrichten an einen Dienstbroker auf einem Remoteserver senden. Die Dialogsicherheit muss gemäß dem Vollsicherheitsmodell des Service Broker-Dialogfelds manuell konfiguriert werden. Das Vollsicherheitsmodell ermöglicht die Verschlüsselung und Entschlüsselung von Nachrichten, die an und von Remoteservern gesendet werden. Obwohl Ereignisbenachrichtigungen in eine Richtung gesendet werden, werden auch andere Nachrichten, z. B. Fehler, in die entgegengesetzte Richtung zurückgegeben.
Konfigurieren von Dialogsicherheit für Ereignisbenachrichtigungen
Der prozess, der zum Implementieren der Dialogsicherheit für Ereignisbenachrichtigungen erforderlich ist, wird in den folgenden Schritten beschrieben. Zu diesen Schritten gehören Aktionen, die sowohl auf dem Quellserver als auch auf dem Zielserver ausgeführt werden sollen. Der Quellserver ist der Server, auf dem die Ereignisbenachrichtigung erstellt wird. Der Zielserver ist der Server, der die Ereignisbenachrichtigung empfängt. Sie müssen die Aktionen in jedem Schritt sowohl für den Quellserver als auch für den Zielserver ausführen, bevor Sie mit dem nächsten Schritt fortfahren.
Von Bedeutung
Alle Zertifikate müssen mit gültigen Anfangs- und Ablaufdaten erstellt werden.
Schritt 1: Einrichten einer TCP-Portnummer und eines Zieldienstnamens.
Richten Sie den TCP-Port ein, auf dem sowohl der Quellserver als auch der Zielserver Nachrichten empfangen. Sie müssen auch den Namen des Zieldiensts bestimmen.
Schritt 2: Konfigurieren der Verschlüsselung und der Zertifikatfreigabe für die Authentifizierung auf Datenbankebene.
Führen Sie die folgenden Aktionen auf den Quell- und Zielservern aus.
| Quellserver | Zielserver |
|---|---|
| Wählen oder erstellen Sie eine Datenbank, um die Ereignisbenachrichtigung und den Hauptschlüssel zu speichern. | Wählen oder erstellen Sie eine Datenbank, um den Hauptschlüssel zu speichern. |
| Wenn für die Quelldatenbank kein Masterschlüssel vorhanden ist, erstellen Sie einen Masterschlüssel. Ein Hauptschlüssel ist sowohl für die Quell- als auch die Zieldatenbank erforderlich, um ihre jeweiligen Zertifikate zu sichern. | Wenn für die Zieldatenbank kein Hauptschlüssel vorhanden ist, erstellen Sie einen Masterschlüssel. |
| Erstellen Sie eine Anmeldung und einen entsprechenden Benutzer für die Quelldatenbank. | Erstellen Sie eine Anmeldung und einen entsprechenden Benutzer für die Zieldatenbank. |
| Erstellen Sie ein Zertifikat , das dem Benutzer der Quelldatenbank gehört. | Erstellen Sie ein Zertifikat, das dem Benutzer der Zieldatenbank gehört. |
| Sichern Sie das Zertifikat in einer Datei, auf die vom Zielserver zugegriffen werden kann. | Sichern Sie das Zertifikat in einer Datei, auf die vom Quellserver zugegriffen werden kann. |
| Erstellen Sie einen Benutzer, indem Sie den Benutzer der Zieldatenbank angeben, und zwar OHNE ANMELDUNG. Dieser Benutzer besitzt das Zieldatenbankzertifikat, das aus der Sicherungsdatei erstellt werden soll. Der Benutzer muss keiner Anmeldung zugeordnet werden, da der einzige Zweck dieses Benutzers darin besteht, das in Schritt 3 erstellte Zieldatenbankzertifikat zu besitzen. | Erstellen Sie einen Benutzer, indem Sie den Benutzer der Quelldatenbank angeben, und zwar OHNE ANMELDUNG. Dieser Benutzer besitzt das Quelldatenbankzertifikat, das aus der Sicherungsdatei erstellt werden soll. Der Benutzer muss keiner Anmeldung zugeordnet werden, da der einzige Zweck dieses Benutzers darin besteht, das in Schritt 3 erstellte Quelldatenbankzertifikat zu besitzen. |
Schritt 3: Freigeben von Zertifikaten und Erteilen von Berechtigungen für die Authentifizierung auf Datenbankebene.
Führen Sie die folgenden Aktionen auf den Quell- und Zielservern aus.
| Quellserver | Zielserver |
|---|---|
| Erstellen Sie ein Zertifikat aus der Sicherungsdatei des Zielzertifikats, und geben Sie den Zieldatenbankbenutzer als Besitzer an. | Erstellen Sie ein Zertifikat aus der Sicherungsdatei des Quellzertifikats, und geben Sie den Quelldatenbankbenutzer als Besitzer an. |
| Erteilen Sie dem Quelldatenbankbenutzer die Genehmigung, die Ereignisbenachrichtigung zu erstellen. Weitere Informationen zu dieser Berechtigung finden Sie unter CREATE EVENT NOTIFICATION (Transact-SQL). | Erteilen Sie dem Zieldatenbankbenutzer die Berechtigung auf REFERENCES für den vorhandenen Service Broker-Vertrag zu Ereignisbenachrichtigungen: https://schemas.microsoft.com/SQL/Notifications/PostEventNotification. |
| Erstellen Sie eine Remotedienstbindung an den Zieldienst, und geben Sie die Anmeldeinformationen des Zieldatenbankbenutzers an. Die Remotedienstbindung garantiert, dass der öffentliche Schlüssel im Zertifikat, das dem Quelldatenbankbenutzer gehört, Nachrichten authentifiziert, die an den Zielserver gesendet werden. | Gewähren Sie dem Benutzer der Zieldatenbank die Berechtigungen CREATE QUEUE, CREATE SERVICE und CREATE SCHEMA. |
| Wenn Sie noch nicht als Zieldatenbankbenutzer mit der Datenbank verbunden sind, tun Sie dies jetzt. | |
| Erstellen Sie eine Warteschlange , um die Ereignisbenachrichtigungen zu empfangen, und erstellen Sie einen Dienst zum Übermitteln der Nachrichten. | |
| Erteilen Sie dem Quelldatenbankbenutzer DIE SEND-Berechtigung für den Zieldienst. | |
| Geben Sie den Dienstbrokerbezeichner der Quelldatenbank an den Zielserver an. Dieser Bezeichner kann durch Abfragen der service_broker_guid Spalte der Sys.databases-Katalogansicht abgerufen werden. Verwenden Sie für eine Ereignisbenachrichtigung auf Serverebene den Dienstbrokerbezeichner von msdb. | Geben Sie den Dienstbrokerbezeichner der Zieldatenbank an den Quellserver an. |
Schritt 4: Erstellen von Routen und Einrichten der Authentifizierung auf Serverebene.
Führen Sie die folgenden Aktionen auf den Quell- und Zielservern aus.
| Quellserver | Zielserver |
|---|---|
| Erstellen Sie eine Route zum Zieldienst, und geben Sie den Dienstbrokerbezeichner der Zieldatenbank und die vereinbarte TCP-Portnummer an. | Erstellen Sie eine Route zum Quelldienst, und geben Sie den Dienstbrokerbezeichner der Quelldatenbank und die vereinbarte TCP-Portnummer an. Verwenden Sie den folgenden bereitgestellten Dienst, um den Quelldienst anzugeben: https://schemas.microsoft.com/SQL/Notifications/EventNotificationService |
| Wechseln Sie zur Masterdatenbank , um die Authentifizierung auf Serverebene zu konfigurieren. | Wechseln Sie zur Masterdatenbank , um die Authentifizierung auf Serverebene zu konfigurieren. |
| Wenn für die Masterdatenbank kein Masterschlüssel vorhanden ist, erstellen Sie einen Masterschlüssel. | Wenn für die Masterdatenbank kein Masterschlüssel vorhanden ist, erstellen Sie einen Masterschlüssel. |
| Erstellen Sie ein Zertifikat , das die Datenbank authentifiziert. | Erstellen Sie ein Zertifikat, das die Datenbank authentifiziert. |
| Sichern Sie das Zertifikat in einer Datei, auf die vom Zielserver zugegriffen werden kann. | Sichern Sie das Zertifikat in einer Datei, auf die vom Quellserver zugegriffen werden kann. |
| Erstellen Sie einen Endpunkt, und geben Sie die vereinbarte TCP-Portnummer FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) und den Namen des Authentifizierungszertifikats an. | Erstellen Sie einen Endpunkt, und geben Sie die vereinbarte TCP-Portnummer FOR SERVICE_BROKER (AUTHENTICATION = CERTIFICATE certificate_name) und den Namen des Authentifizierungszertifikats an. |
| Erstellen Sie eine Anmeldung, und geben Sie die Anmeldung des Zielservers an. | Erstellen Sie eine Anmeldung, und geben Sie die Anmeldung des Quellservers an. |
| Erteilen Sie connect-Berechtigungen für den Endpunkt für die Zielauthentifikator-Anmeldung. | Erteilen Sie CONNECT-Berechtigungen auf dem Endpunkt für die Quellauthentifikator-Anmeldung. |
| Erstellen Sie einen Benutzer, und geben Sie das Ziel-Authenticator-Login an. | Erstellen Sie einen Benutzer, und geben Sie die Anmeldeinformationen für den Quell-Authentifikator an. |
Schritt 5: Freigeben von Zertifikaten für die Authentifizierung auf Serverebene und Erstellen der Ereignisbenachrichtigung.
Führen Sie die folgenden Aktionen auf den Quell- und Zielservern aus.
| Quellserver | Zielserver |
|---|---|
| Erstellen Sie ein Zertifikat aus der Sicherungsdatei des Zielzertifikats, und geben Sie den Zielauthentifikatorbenutzer als Besitzer an. | Erstellen Sie ein Zertifikat aus der Sicherungsdatei des Quellzertifikats, und geben Sie den Quellauthentifikatorbenutzer als Besitzer an. |
| Wechseln Sie zur Quelldatenbank, auf der die Ereignisbenachrichtigung erstellt werden soll, und wenn Sie noch nicht als Quelldatenbankbenutzer verbunden sind, tun Sie dies jetzt. | Wechseln Sie zur Zieldatenbank, um Ereignisbenachrichtigungen zu empfangen. |
| Erstellen Sie die Ereignisbenachrichtigung, und geben Sie den Brokerdienst und den Bezeichner der Zieldatenbank an. |
Siehe auch
GRANT (Transact-SQL)
SICHERUNGSZERTIFIKAT (Transact-SQL)
sys.databases (Transact-SQL)
Verschlüsselungshierarchie
Implementieren von Ereignisbenachrichtigungen
CREATE MASTER KEY (Transact-SQL)
LOGIN ERSTELLEN (Transact-SQL)
BENUTZER ERSTELLEN (Transact-SQL)
ZERTIFIKAT ERSTELLEN (Transact-SQL)
CREATE REMOTE SERVICE BINDING (Transact-SQL)
GRANT (Transact-SQL)
ROUTE ERSTELLEN (Transact-SQL)
CREATE QUEUE (Transact-SQL)
CREATE SERVICE (Transact-SQL)
ENDPUNKT ERSTELLEN (Transact-SQL)
CREATE EVENT NOTIFICATION (Transact-SQL)