Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Добрый день.

SELECT * FROM OPENQUERY ( [SERV-1] ,'SELECT top 10* FROM [SERV-1].DB_NAME.dbo.Orders ' )

Возвращает данные с удаленного сервера, а когда запускаю процедуру

SELECT *
FROM OPENQUERY ( [SERV-1] ,'EXEC [SERV-1].DB_NAME.dbo.GetDateForClient ''2014-05-25 05:21:00.000'',''2014-05-28 13:00:00.000'',2' )

Пишет ошибку
The metadata could not be determined because remote metadata discovery failed for statement 'EXEC [SERV-1].DB_NAME.dbo.GetDateForClient ''2014-05-25 05:21:00.000'',''2014-05-28 13:00:00.000.'.

Подскажите, пожалуйста, что делаю неверно
28 май 14, 12:44    [16084673]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
ИльдарSR
Подскажите, пожалуйста, что делаю неверно

Пытаетесь сделать
SELECT FROM EXEC
28 май 14, 12:47    [16084687]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
А есть ли другой способ запустить exec на удаленном сервере, не делая следующим образом

EXEC [SERV-1].DB_NAME.dbo.GetDateForClient '2014-05-25 05:21:00.000','2014-05-28 13:00:00.000',2
28 май 14, 12:55    [16084742]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
ИльдарSR
А есть ли другой способ запустить exec на удаленном сервере, не делая следующим образом

Интересный вопрос
А зачем другой способ, если уже есть такой способ ?
28 май 14, 12:57    [16084751]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Мало ли пригодится)
28 май 14, 13:01    [16084796]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
ИльдарSR
Мало ли пригодится)

Займитесь чем-нибудь более полезным.
28 май 14, 13:03    [16084813]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Попробовал запустить таким образом, вышла ошибка

OLE DB provider "SQLNCLI11" for linked server "SERV-1" returned message "Query timeout expired".

Может есть способом каким то другим способом запустить, или как настроить тайм аут, чтобы проца работала, а не падал по тайа ауту
28 май 14, 13:17    [16084953]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
invm
Member

Откуда: Москва
Сообщений: 9824
ИльдарSR,

Сервер 2012 и результирующая выборка в процедуре делается из временной таблицы?
28 май 14, 13:18    [16084968]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Да, далее я этот результат хочу загнать у себ я таблицу, грубо говоря

INSERT INTO
EXEC....
28 май 14, 13:20    [16084990]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
Use the remote query timeout option to specify how long, in seconds, a remote operation can take before Microsoft SQL Server times out. The default is 600, which allows a 10-minute wait.
28 май 14, 13:21    [16084998]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Правильно понял, что надо воспользоваться вот этой командой, чтобы увеличить тайм аут во время выполнения процедуры

DBPROP_COMMANDTIMEOUT 0

И чтобы включить обратно как было DBPROP_COMMANDTIMEOUT 600
28 май 14, 13:28    [16085068]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Glory
Member

Откуда:
Сообщений: 104751
ИльдарSR
Правильно понял, что надо воспользоваться вот этой командой

remote query timeout - это не команда
28 май 14, 13:30    [16085083]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Я понял, спасибо большое за помощь

sp_configure 'remote query timeout (s)' ,800
reconfigure
28 май 14, 13:32    [16085100]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
А если в запросе красное убрать?

SELECT *
FROM OPENQUERY ( [SERV-1] ,'EXEC [SERV-1].DB_NAME.dbo.GetDateForClient ''2014-05-25 05:21:00.000'',''2014-05-28 13:00:00.000'',2' )
28 май 14, 14:39    [16085621]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Не выходит ошибка из-за временной таблицы на удаленном сервере, как я понял.

Такой вопрос может и не сюда надо писать, но мало ли кто-то сталкивался

The operation could not be performed because OLE DB provider "SQLNCLI11" for linked server "SERV-1" was unable to begin a distributed transaction.

На этом сервере, куда идет запрос, все настроил как указано было здесь
http://vedatsivri.files.wordpress.com/2012/11/dtc.png

В link servere тоже все настройки сделал, далее перезапустил sql server и сервис sistributed transaction.....

Но ошибка все равно появляется, подскажите, что надо еще донастроить
28 май 14, 16:49    [16086805]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
ИльдарSR,

попробовать перечитать весь стек ответов в етой ветке с начала
29 май 14, 12:14    [16090379]     Ответить | Цитировать Сообщить модератору
 Re: В чем ошибка  [new]
ИльдарSR
Member

Откуда:
Сообщений: 466
Прочитал, у меня если запускать отдельно, то все ок, но как только я начинаю делать INSERT то возникает ошибка

В инете нашел, как и раньше описал, настроил все, но ошибка все равно осталась(
29 май 14, 14:52    [16091849]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить