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

Откуда:
Сообщений: 90
Друзья, помогите кто чем....

Виснет (не выполняется вовсе) INSERT EXEC при выполнении динамического запроса с OPENQUERY. Запрос выполняется с 2000-го SQL сервера на 2005-ый. Без команды INSERT запрос выполняется без задержек и без ошибок, без OPENQUERY тоже. Зависание появилось после того как поменяли удаленный сервер с 2000-го на 2005-ый.

Что бы это могло быть? И как с этим бороться?

SQL запрос:

CREATE TABLE #IsExist ([IsExist] [int])

DECLARE @sql nvarchar(4000)
SELECT @sql = 'SELECT * FROM OPENQUERY(SQLSERVER, ''SELECT 1 [ABC]'')'

INSERT #IsExist EXEC (@sql)
12 окт 09, 15:26    [7773867]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31214
ping win
Что бы это могло быть? И как с этим бороться?
DTC проверьте
12 окт 09, 16:05    [7774156]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
ping win
Member

Откуда:
Сообщений: 90
alexeyvg,

Каким образом?

Запрос выполняется если убрать INSERT.
12 окт 09, 16:12    [7774210]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
somebody
Member

Откуда: Москва
Сообщений: 708
Версию 2000-го приведите.

Но заранее попробую сказать: пропачьте 2000-й сервер по максимуму (в том числе и скриптом).
13 окт 09, 09:28    [7776365]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
ping win
Member

Откуда:
Сообщений: 90
somebody,

По идее, сервер должен быть пропаччен всем чем можно.

Microsoft SQL Server 2000 - 8.00.2282 (Intel X86)
Dec 30 2008 02:22:41
Copyright (c) 1988-2003 Microsoft Corporation
Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
13 окт 09, 11:03    [7777009]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
ping win
Member

Откуда:
Сообщений: 90
up
13 окт 09, 16:42    [7780023]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31214
ping win,

А если попробовать написать перед INSERT следующую команду?

SET REMOTE_PROC_TRANSACTIONS OFF
13 окт 09, 17:07    [7780281]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
ping win
Member

Откуда:
Сообщений: 90
Тоже самое, зависает.

Путем недолгих размышлений добавил INSERT внутрь запроса - в таком варианте запрос выполнился корректно. Но вопрос все равно остается.

CREATE TABLE #IsExist ([IsExist] [int])

DECLARE @sql nvarchar(4000)
SELECT @sql = 'INSERT INTO #IsExist SELECT * FROM OPENQUERY(SQLSERVER, ''SELECT 1 [ABC]'')'

INSERT #IsExist EXEC (@sql)
13 окт 09, 18:54    [7780982]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
ping win
Member

Откуда:
Сообщений: 90
up
14 окт 09, 12:58    [7784113]     Ответить | Цитировать Сообщить модератору
 Re: INSERT EXEC зависает при выполнении запроса с OPENQUERY  [new]
somebody
Member

Откуда: Москва
Сообщений: 708
автор
По идее, сервер должен быть пропатчен всем, чем можно.
Microsoft SQL Server 2000 - 8.00.2282 (Intel X86)

Ну, это, действительно, очень пропатченная версия. )
Но прогоните ещё и скрипт instcat.sql с диска SP4.
16 окт 09, 12:23    [7796011]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить