web-dev-qa-db-fra.com

Pourquoi le courtier de service nécessite-t-il une clé principale après la restauration d'un autre serveur?

J'ai déplacé certaines bases de données qui utilisent le courtier de service sur de nouveaux serveurs récemment via la sauvegarde et la restauration. J'ai remarqué qu'une fois que je fais cela, ces bases de données commencent à jeter les messages de la clé principale de la base de données requis dans le journal. Le cryptage n'est pas utilisé avec le courtier et aucune touche n'est définie dans le serveur d'origine et la base de données, alors pourquoi en a-t-elle besoin une fois que je la restaore? Est-ce peut-être utiliser la clé de service de service si une clé maître de base de données n'est pas définie? Ma recherche n'a pas été signalée des spécificités de ce qui se passe si vous ne le laissez pas à l'origine, il semble juste d'être supposé que vous en avez un ensemble. Il a été mentionné qu'il y a des problèmes si ce n'est pas fixé, mais nous n'en avons pas eu.

En outre, cela nécessite-t-il une clé? Je commence à me demander si ce n'est qu'un message incorrect, et si je viens de faire la mise à jour UID avec l'instruction ALTER, si cela le résoudra, ou dois-je définir la clé lorsque vous passez à un nouveau serveur?

Merci!

3
user42454

Lorsque vous restaurez une base de données, TRUSTWORTHY est automatiquement défini sur OFF. Pour le courtier de service, si vous NE Utilisez le cryptage et do Utilisez la transmission du message croisé de la base de données, TRUSTWORTHY doit être réglé sur ON.

Essayer

ALTER DATABASE MyDB SET TRUSTWORTHY ON

... Pour toutes les bases de données restaurées impliquées avec courtier.

4
JNK

Service Broker utilise le cryptage par défaut, sauf si vous spécifiez que vous ne souhaitez pas l'utiliser lors de l'envoi des messages. À un moment donné, la clé principale de la base de données a dû être créée à moins que j'ai dit que vous spécifiez que le cryptage était désactivé lorsque vous envoyez les messages (cela pourrait être lorsque vous créez la conversation, je ne me souviens pas).

Quoi qu'il en soit, lorsque vous avez restauré la base de données si la clé n'était cryptée que par la clé maître de service sur le dernier serveur, vous n'auriez pas pu l'utiliser pour que vous puissiez le recréer.

2
mrdenny