0

У меня есть изначально скомпилированная хранимая процедура, и я хотел бы выполнить асинхронное выполнение другой хранимой процедуры. Фон состоит в том, что мне нужно как можно быстрее сохранить некоторые промежуточные данные (в моей изначально скомпилированной хранимой процедуре), и я хотел бы вызвать другую хранимую процедуру асинхронной для дальнейшей обработки моих данных (но без «блокировки» текущего изначально скомпилированного хранилища процедура).(Async) выполнение из изначально скомпилированной хранимой процедуры

Кто-нибудь знает, возможно ли это?

Вот пример того, что я хочу:

create procedure [Staging].[spProcessXXX] 
with native_compilation, schemabinding, execute as owner 
as 
begin atomic 
with (transaction isolation level=snapshot, language=N'us_english') 


    -- 1. 

    -- do my performance-relevant stuff here 


    -- 2. 

    -- exec SP_XYZ (async, for example over SQL Job Agent or Service Broker) 


end 

ответ

1

Это невозможно. Сделать приложение проблемой асинхронного вызова.

Альтернатива: Если это была неродная процедура, вы можете воспользоваться сервисным брокером. Поэтому создайте процедуру обертки, которая не изначально компилируется. Эта оболочка вызывает собственный proc и может использовать сервис-брокер.

+1

Я уже предполагал, что это невозможно, но я все еще надеялся, может быть, кто-то, возможно, знает возможное обходное решение или решение. В любом случае, спасибо за ваш ответ. – Reboon