为什么我不想设置ENABLE_BROKER?

时间:2017-02-03 11:04:18

标签: sql-server entity-framework

我刚刚注意到,使用实体框架构建的webapp使用的大多数数据库都将SQL Option ENABLE_BROKER设置为ON。

这是正常的吗?为所有数据库设置此数据,或者为所有数据库禁用它有什么影响? 是否涉及管理费用,如果不是可以安全地设置它以进行转换?

我真的不了解它的目的和效果。

1 个答案:

答案 0 :(得分:1)

使用T-SQL创建新数据库时,默认情况下会启用Service Broker(例如CREATE DATABASE NewDatabase;)。但是,SQL Server Management Studio遵循“创建数据库”对话框的选项页面上指定的SB选项,该选项默认为false。恢复或附加后,Service Broker被禁用,需要后续ALTER DATABASE NEW_BROKERENABLE_BROKER选项才能启用SB。

启用SB但未使用SB时,成本接近于零。禁用SB un用户数据库当然会阻止应用程序直接使用该功能进行排队和异步消息处理,以及依赖它的SqlDependency / QueryNotifications等组件。 msdb系统数据库使用SB来处理数据库邮件等功能。