This is my perivous question。关于如何从数据库而不是应用程序拉取数据推送数据。
在完成link和我知道的文档后,我需要在应用程序端编写一个查询通知请求,然后DB将在订阅中注册我的请求,如果数据库中有任何更改它会检查订阅,如果请求在那里,它会将消息发送给客户端。
该段来自上述链接
Along with the query submitted for the notification, the client submits a service name
and a broker instance. Each notification subscription begins a Service Broker dialog
with this provided service and broker instance. When data is changed and the change
would affect the result of the submitted query result, a message is sent on this
dialog. By sending this message, the client is considered notified and the notification
subscription is removed. If client desires to be notified on further changes, is
supposed to subscribe again.
现在我不知道如何在应用程序端编写查询以获取通知请求,而且我不会从上面给出的段落submit a service and a broker instance
。我想在查询数据库以获取通知请求之前,需要在应用程序中创建服务和代理实例。如果是这样如何创建服务和代理实例?
我可以通过select * from sys.dm_qn_subscriptions
命令检查数据库服务器是否有订阅。有谁可以帮助我?
答案 0 :(得分:0)
可能你完全不理解对上一个问题的回答,所以我会尝试澄清一些事情:
我想需要在中创建服务和代理实例 应用程序在查询数据库之前的通知请求。如果它 是如何创建服务和代理实例的呢?
服务代理是SQL Server的一个组件,您不是实例也不是创建它。您启用它 - 这是一个SQL Server管理任务。
要创建新服务,您必须先create queue为它,然后contract才能建立通信方式。然后你create your service。
当您创建服务时,Service Broker将处理实例化,激活和其他相关操作。