Domanda

sto ottenendo questo errore nel mio tavolo sys.transmission_queue ogni volta che tento di inviare un messaggio di SQL Service Broker tra due diversi server di SQL Server. (Cioè i database sono su due differenti macchine fisiche)

Dialog security is unavailable for this conversation because there is no security 
certificate bound to the database principal (Id: 5).  
Either create a certificate for the principal, or specify ENCRYPTION = OFF 
when beginning the conversation 

Quando questo errore si riferisce a "entità di database" che cosa sta riferendo? (Il database? Utente "master" dbo?) Ho usato il comando CREATE CERTIFICATE, eseguito il backup del certificato e creato un stesso certificato di nome sull'altro server con il file CER di backup dal primo server, ma continuo a ricevere questo Messaggio.

Qualsiasi aiuto sarebbe apprezzato a ottenere mi ha segnalato nella giusta direzione. Devo essere manca qualcosa di ovvio.

FYI, nel mio ambiente di sviluppo, sia i database di avvio e di destinazione erano sullo stesso server fisico, e la stessa istanza di SQL, e tutto è andato bene funzionando.

È stato utile?

Soluzione

L'errore si riferisce a un utente nel database che ospita il servizio di Service Broker (select name from sys.database_principals where principal_id = 5).

Oltre a esportare un certificato al server di destinazione, è inoltre necessario il certificato del server di destinazione di importazione, associarlo con un utente e creare un servizio remoto di raccontare Service Broker quale utente locale rappresenta il servizio remoto. Le 2 articoli seguenti dovrebbero aiutare a: Service Broker Protezione del dialogo e < a href = "http://blogs.msdn.com/sql_service_broker/archive/2008/08/26/securing-a-dialog-with-certificates.aspx" rel = "nofollow noreferrer"> Protezione di un dialogo con i certificati .

Altri suggerimenti

In aggiunta a quanto detto Pawel, consiglio anche di dare il ssbdiagnose strumento di una prova. Utilizzare l'opzione di configurazione e vi dirà esattamente ciò che l'utente ha bisogno di certificati, in cui banca dati, oltre ad analizzare la connettività degli endpoint, i percorsi e le autorizzazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top