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

Откуда:
Сообщений: 20
Привет всем!

Картина следующая
Есть SQLSERVER и SQLSERVER\TEST - 2 инстанса лежащик на одной тачке (SQL 2008 SP 2)
У обоих link Server - oracle. Ссылается на одно и тоже.

На первом все хорошо, все запускается и работает.
На втором наглухо виснет вызов функции на link server из хранимой процедуры, да и просто запросом тоже.

sp_configure на втором, полностью сделал как у первого, настройки link server- тоже идентичные
При этом на втором выполняются простые тестовые процедурки и функции созданные на линке для проверки связи.

Грешу на большое количество параметров функции. Вот вызов.

declare

@i_position_code varchar(128), -- db.position_abstract.position_code (null for new position)
@i_position_extCode varchar (128), -- id source-system
@i_position_addressString varchar(128), -- full address string
@i_position_name varchar (128),
@i_executor_name varchar (128),
@i_geoRegion_id int, -- md.region.id
@i_street_id int, -- md.street.id
@i_address_id int, -- md.address.id
@i_street_name varchar (128), -- if no suitable record md.street
@i_streetType_name varchar (128), -- md.streetType.namerus
@i_building_number1 varchar (128), -- if no suitable record md.address
@i_building_number2 varchar (128),
@i_building_number3 varchar (128),
@i_building_number1Type_name varchar (128),
@i_building_number2Type_name varchar (128),
@i_building_number3Type_name varchar (128),
@i_position_state char, -- db.position_abstract.position_state ( S = draft / P = plan / E = exploitation / D = closed )
@i_CIGroup_code varchar (128), -- db.dic_groupke.mnemonics (where class = POSITION)
@i_position_latitude decimal(12,6),
@i_position_longitude decimal(12,6);

declare
@i_position_closedAt date, -- дата закрытия 
@i_branch_id int, -- db.dic_branch.branch_id (optional)
@i_positionSource_code varchar(128), -- db.dic_positionSource.positionSource_code ('NRI' or '1C')
@i_positionSourceComp_code varchar(128), -- db.dic_positionSourceComp.positionSourceComp_code
@i_positionPurpose_code varchar (128), -- (optional)
@i_country_code2alpha varchar (128), -- ISO-3166 code 2 alpha ('RU', etc.)
@i_entrance_number varchar (128),
@i_building_id int,
@i_levelType_id int,
@i_level_name varchar (128),
@i_roomType_id int,
@i_room_number varchar (128),
@i_room_name varchar (128),
@i_position_addressSuffix varchar (128),
@i_geoSystem_name varchar (128), -- ('Longitude / Latitude (WGS 84)', 'Longitude / Latitude (Pulkovo 1942)') -- (mdsys.CS_SRS.CS_NAME)
@i_metroLine_id int, -- md.metroLine.id
@i_metroStation_id int, -- md.metroStation.id
@i_road_id int, -- md.road.id
@i_road_direction varchar (128), -- 'from ... to ...'
@i_road_side varchar (128), -- левая/правая, четная/нечетная, etc.
@i_road_km int,
@i_roadElement_id int, -- md.roadElement.id
@i_railwayStation_id int, -- md.railwayStation.id
@i_position_accessDescription varchar (128),
@i_executor_tabnum varchar (128),
@o_positionRequest_id int,
@o_error_code int,
@o_error_message varchar (4000),
@i_position_isForClient char,
@i_trustMode char,
@o_res varchar(4000);


set @o_positionRequest_id=0
set @o_error_code=0
set @o_error_message=''
set @o_res=''
set @i_position_closedAt=NULL
set @i_branch_id=NULL
set @i_positionSource_code='SDB'
set @i_positionSourceComp_code='VK'
set @i_positionPurpose_code='SDH_FOL'
set @i_country_code2alpha='RU'
set @i_building_id=NULL
set @i_entrance_number=NULL
set @i_levelType_id=NULL
set @i_level_name=NULL
set @i_roomType_id=NULL
set @i_room_number=NULL
set @i_room_name=NULL
set @i_position_addressSuffix=NULL
set @i_geoSystem_name='Longitude Latitude (WGS 84)'
set @i_metroLine_id=NULL
set @i_metroStation_id=NULL
set @i_road_id=NULL
set @i_road_direction=NULL
set @i_road_side=NULL
set @i_road_km=NULL
set @i_roadElement_id=NULL
set @i_railwayStation_id=NULL
set @i_position_accessDescription=NULL
set @i_executor_tabnum=NULL

exec ('begin ? :=db.pkgtest.testsdb(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);end;',

@o_res out,
@i_position_code,
@i_position_state,
@i_position_closedAt,
@i_branch_id,
@i_positionSource_code,
@i_positionSourceComp_code,
@i_CIGroup_code,
@i_positionPurpose_code,
@i_position_extCode,
@i_position_addressString,
@i_country_code2alpha,
@i_geoRegion_id,
@i_street_id,
@i_address_id,
@i_building_id,
@i_street_name,
@i_streetType_name,
@i_building_number1,
@i_building_number1Type_name,
@i_building_number2,
@i_building_number2Type_name,
@i_building_number3,
@i_building_number3Type_name,
@i_entrance_number,
@i_levelType_id,
@i_level_name,
@i_roomType_id,
@i_room_number,
@i_room_name,
@i_position_addressSuffix,
@i_position_latitude,
@i_position_longitude,
@i_geoSystem_name,
@i_metroLine_id,
@i_metroStation_id,
@i_road_id,
@i_road_direction,
@i_road_side,
@i_road_km,
@i_roadElement_id,
@i_railwayStation_id,
@i_position_name,
@i_position_accessDescription,
@i_executor_tabnum,
@i_executor_name, 
@o_positionRequest_id output,
@o_error_code output,
@o_error_message output
) at DBprod; 

select @o_positionRequest_id, @o_res o_res, @o_error_code o_error_code,@o_error_message o_error_message


Куда еще можно глянуть поковырять настройки???
29 авг 12, 17:02    [13083951]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Glory
Member

Откуда:
Сообщений: 104760
Хыч
Куда еще можно глянуть

На удаленный сервер
29 авг 12, 17:03    [13083957]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

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

Поконкретней, если можно.
Оракловщики утверждают, что пользователю которым я ломлюсь на link все права выданы.
Ну и какбе тем же пользователем я прекрасно все выполняю с первого инстанса, мало того, как уже говорил, тестовые функции также выполняются и на втором
29 авг 12, 17:06    [13083987]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Хыч
Glory,

Поконкретней, если можно.
Оракловщики утверждают, что пользователю которым я ломлюсь на link все права выданы.
Ну и какбе тем же пользователем я прекрасно все выполняю с первого инстанса, мало того, как уже говорил, тестовые функции также выполняются и на втором
Выдача прав ползователю в оракле гарантирует, что код на стороне оракла всегда моментально выполняться будет, что ли?

Сообщение было отредактировано: 29 авг 12, 17:19
29 авг 12, 17:19    [13084083]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Glory
Member

Откуда:
Сообщений: 104760
Хыч
Glory,

Поконкретней, если можно.
Оракловщики утверждают, что пользователю которым я ломлюсь на link все права выданы.

И что наличие прав гарантирует супербыстрое выполнение без задержек ?
29 авг 12, 17:20    [13084093]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

Откуда:
Сообщений: 20
Ну есть наверное разница, 5 секунд выполнения и 3 часа выполнения, без возвращаемого результата?
29 авг 12, 17:23    [13084118]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Хыч
Ну есть наверное разница, 5 секунд выполнения и 3 часа выполнения, без возвращаемого результата?
Есть. Только при чем тут MSSQL?
29 авг 12, 17:26    [13084148]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

Откуда:
Сообщений: 20
Гавриленко Сергей Алексеевич, вам сказать больше нечего?
29 авг 12, 17:27    [13084161]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

Откуда:
Сообщений: 20
Хыч
Есть SQLSERVER и SQLSERVER\TEST - 2 инстанса лежащик на одной тачке (SQL 2008 SP 2)
У обоих link Server - oracle. Ссылается на одно и тоже.
29 авг 12, 17:29    [13084174]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Glory
Member

Откуда:
Сообщений: 104760
Хыч
Хыч
Есть SQLSERVER и SQLSERVER\TEST - 2 инстанса лежащик на одной тачке (SQL 2008 SP 2)
У обоих link Server - oracle. Ссылается на одно и тоже.

Т.е. вы не будете смотреть, каков статус этого коннекта на удаленном сервере ?
И вообще ничего мониторить не собираетесь ?
Вы думаете, что есть волшебная настройка "работать быстро, как на другом сервере" ?
29 авг 12, 17:37    [13084243]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37051
Хыч
Гавриленко Сергей Алексеевич, вам сказать больше нечего?
Если вы не понимаете, что распределенный запрос мониторить надо на обоих серверах, то нечего.
29 авг 12, 18:17    [13084556]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

Откуда:
Сообщений: 20
Как и думал/говорил, oracle был не причем
Для моего случая с 2-мя экземплярами на одном серваке достаточно было
сконфигурить сам экземпляр и прилинковать сервер по аналогии с данным, и включить
EXEC master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1

Без этого не пашет..

Если ставить с нуля, то помимо всего, на сервак нужно накатить DTC в Application Server
5 сен 12, 15:28    [13118370]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Glory
Member

Откуда:
Сообщений: 104760
Хыч
Для моего случая с 2-мя экземплярами на одном серваке достаточно было
сконфигурить сам экземпляр и прилинковать сервер по аналогии с данным, и включить

А кто-то уверял в первом сообщении
"sp_configure на втором, полностью сделал как у первого, настройки link server- тоже идентичные
"
5 сен 12, 15:29    [13118387]     Ответить | Цитировать Сообщить модератору
 Re: Наглухо виснет exec на link server  [new]
Хыч
Member

Откуда:
Сообщений: 20
Хем
sp_MSset_oledb_prop

Не видно из конфигураций...
5 сен 12, 15:34    [13118436]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить