invm,
Да, все так. Твой пример проходит. Вся фишка, как я понял в функции openrowset.
Пробую запустить свою процедуру через эту функцию:
select * from openrowset('SQLNCLI', 'Server=.;Trusted_connection=yes;', 'exec dbo.sc_Treaty_CalcReserve23 @DayDate = 41270 , @SystemId = 5000 , @KindId = 19 , @UseSubKinds = 1 , @CurrencyTag = ''*'' , @BranchId = NULL , @ClientId = 163936 , @GroupId = NULL , @StateFlag = 12 , @OutMode = 0 , @CalculationMode = 0 , @CalculationId = NULL;');
Возвращает ошибку:
Сообщение 7357, уровень 16, состояние 2, строка 29
Cannot process the object "exec dbo.sc_Treaty_CalcReserve23 @DayDate = 41270 , @SystemId = 5000 , @KindId = 19 , @UseSubKinds = 1 , @CurrencyTag = '*' , @BranchId = NULL , @ClientId = 163936 , @GroupId = NULL , @StateFlag = 12 , @OutMode = 0 , @CalculationMode = 0 , @CalculationId = NULL;".
The OLE DB provider "SQLNCLI" for linked server "(null)" indicates that either the object has no columns or the current user does not have permissions on that object.
Права на процедуру для public - разрешено выполнение.
Если просто выполняю процедуру через exec dbo.sc_Treaty_CalcReserve23 ... зайдя через Trusted_connection, то процедура выполняется.
Пробовал сервер прописывать и как в твоем примере и руками явно (имя сервера SQL2005) - ошибка таже.
Может подскажешь в чем дело? Куда посмотреть, где поискать? И что это за Linked server такой NULL?