SQL Server异步过程执行:如何传递varbinary(MAX)?

时间:2015-08-04 12:37:15

标签: sql-server asynchronous service-broker

我阅读并了解Remus Rusanu针对异步存储过程执行的这个很棒的解决方案

https://github.com/rusanu/async_tsql

使用varbinary(MAX)类型的参数执行存储过程的好方法是什么?

如何实现这种异步程序调用?

1 个答案:

答案 0 :(得分:0)

不幸的是,你不能在他的文章中使用sql_variant技术来实现这一目标。但是,没有什么能阻止您将Service Broker消息声明为VALIDATION = NONE

CREATE MESSAGE TYPE
    [//Adventure-Works.com/Expenses/ReceiptImage]
    VALIDATION = NONE ;

这允许您将自由形式的二进制数据作为消息发送,并将其直接传递给您的处理过程。如果您要发送任何其他而不是单个varbinary(max),那肯定会受到更多限制,但对于您要求的内容,它会起作用。