Voraussetzung für ein Master-Schlüssel für Service Broker
Habe ich gelesen in verschiedenen MSDN-Seiten und SQL-Server-blogs, die "in der Regel" ein Master-Schlüssel ist erforderlich, in einer Service Broker-Datenbank.
In der Tat, wenn Sie versuchen, Nachrichten zu EMPFANGEN, bekomme ich die folgende Anwendung event log message:
Service-Broker muss den Zugriff auf die
master-Schlüssel in der Datenbank
'MDR_REPLICATION_Z'. Fehlercode:26.
Der master-Schlüssel hat, zu existieren, und die
service master key-Verschlüsselung ist
erforderlich.
Was mich verwirrt ist, warum dies geschieht, wenn alle meine Gespräche ENCRYPTION = OFF ist.
Ist es ein Weg, um die Verwendung von Service Broker innerhalb einer einzigen Datenbank, wo die VERSCHLÜSSELUNG AUSGESCHALTET ist, ohne einen Datenbank-Hauptschlüssel erstellt?
InformationsquelleAutor Emmanuel | 2010-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Die Dialogsicherheit Von Service Broker:
In anderen Worten, stellen Sie sicher, dass Sie keine passenden remote-service-bindings.
InformationsquelleAutor Pawel Marciniak
Alternative wäre die Schaffung eines master key für service broker.
Überprüfen Sie zuerst Ihre service broker-Warteschlange durch Rechtsklick auf die Warteschlange und Anzeigen von Übertragungs-Warteschlange
oder verwenden Sie einfach diese Abfrage
Wenn Sie keine Daten finden, hier dann transmission_status Spalte wird der Grund für diese.
Wenn der broker nicht spielt seine Rolle, ich würde NEW_BROKER mit folgenden Abfrage
Dann Aktivieren Sie die BROKER mit TRUSTWORTHY AUF on gesetzt
Schließlich, ließ Sie den master-Schlüssel und Erstellen ein Neues master-key und verschlüsseln von neues Passwort:
Passwort könnte eine benutzerdefinierte Mischung von alphanumerischen und Symbolen.
Wenn eine der oben genannten Maßnahmen nehmen mehr Zeit, um zu laufen, dann würde ich vorschlagen, Sie zu stoppen Sie die Abfrage und öffnen Sie den SQL-manager und versuchen Sie es erneut. Sollte es gut funktionieren!!
InformationsquelleAutor Vinnie
Fand ich die Lösung.
Obwohl das Ziel nicht angegebenen Dienst in meinem BEGINNEN DIALOG enthalten ist, in der gleichen Datenbank, die ich brauchte, um explizite über die Tatsache, dass die Ziel service war innerhalb der gleichen Datenbank.
Dies erfolgt durch hinzufügen der optionalen
CURRENT DATABASE
bei der Angabe des Ziel-service:InformationsquelleAutor Emmanuel