SQL Server服务代理的SEND命令

 
   | |

导读:SEND命令是在SQL Server 2005版本引入的。它是一种类似于INSERT的命令,只是SEND只用在SQL Server服务代理中。在服务代理中,你是将数据填入一个队列,而不是数据库表中。

关键词:SQL Server数据库 SQL Server 2005 服务代理 SEND命令

正在加载数据...

【TechTarget中国原创】SEND命令是在SQL Server 2005版本引入的。它是一种类似于INSERT的命令,只是SEND只用在SQL Server服务代理中。在服务代理中,你是将数据填入一个队列,而不是数据库表中。你并不是把命令插入到队列中,而是向队列发送一个消息,这就像你向其他人发送一个电子邮件一样。服务代理也使用相同的做法(更准确地说,它们并不完全相同,因为电子邮件是每一个人都能接收的)。

【TechTarget中国原创】SEND命令是在SQL Server 2005版本引入的。它是一种类似于INSERT的命令,只是SEND只用在SQL Server服务代理中。在服务代理中,你是将数据填入一个队列,而不是数据库表中。你并不是把命令插入到队列中,而是向队列发送一个消息,这就像你向其他人发送一个电子邮件一样。服务代理也使用相同的做法(更准确地说,它们并不完全相同,因为电子邮件是每一个人都能接收的)。

  当你使用SEND命令时,你必须先使用BEGIN DIALOG命令。所以在你发送消息之前,你必须先启动一个对话框,它再启动一个会话,然后使用服务去完成实际的逻辑操作。这是通过BEGIN DIALOG命令来完成的,如下的示例代码。

  在你获得了@dialog_handle变量中的对话句柄后,你就可以使用这个句柄发送实际的消息到之前你启动对话框时开始的会话。在我们下面的例子中,我们只是发送sys.tables DMV的内容到队列中:


DECLARE @xml AS XML
DECLARE @dialog_handle AS uniqueidentifier SET @xml = (SELECT * FROM sys.tables FOR XML AUTO)BEGIN DIALOG @dialog_handle
FROM SERVICE [tcp://codecamp/AW/sample_send_service]
TO SERVICE tcp://codecamp/AW/sample_receive_service
ON CONTRACT [tcp://codecamp/AW/sample_contract];SEND ON CONVERSATION @dialog_handle
 MESSAGE TYPE [tcp://codecamp/AW/sample_messagetype]
 (@xml);

  还不太清楚,是吗?我的博客后面很快就会有关于RECEIVE命令的内容更新,你可以用它来读取消息内容。并且在更新中我会给一个示例代码链接,那些代码是我在文章中多次使用的,它们应该能帮助你融会贯通这些内容。

 
查看全文
 
 
 
 
 

SQL Server数据库设计与建模

 
如果把商业现货(COTS)数据建模工具与定制的数据建模应用相比,会发现它们在数据建模方面有很大的差别。
 
使用SQL Server Analysis Services MDX语句,可以很容易地实现像这种具有父子维关系类型的层次结构。
 
SQL Server 2005 中的父子维,解决了如何处理在一个表当中一些记录与本表中其它记录相关联的这样一个常见业务问题。
 
一个范围标记了刻度的一个特定区域,它有助于突出特定的值。例如,在一个间隔为1到10的刻度中,我们可能会考虑添加一个从8到10的范围来突出这些目标数值。
 
现在,双子星项目已经更名为Microsoft PowerPivot,DBA及开发人员可以将目光再转向另外一个SQL Server 2008 R2的功能:Project Madison。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录