Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
ElenaG
Member

Откуда: Москва
Сообщений: 3388
Вчера все работало. сегодня выдает ошибку:

OLE DB provider "SQLNCLI" for linked server "61East" returned message "Multiple-step OLE DB operation generated errors.
Check each OLE DB status value, if available. No work was done.".
Msg 7202, Level 11, State 2, Line 1
Не удалось найти сервер "MES-VOSTOK-DB" в представлении sys.servers. Убедитесь в том, что указано правильное имя сервера.
При необходимости выполните хранимую процедуру sp_addlinkedserver, чтобы добавить сервер в sys.servers.

удаляю и добавляю линкед-сервер - ошибка не пропадает.
При этом у меня линкед-сервер по IP присоединен, а не по имени "MES-VOSTOK-DB".

Помогите, пожалуйста, идей нет совсем. :-(
29 окт 09, 12:48    [7855282]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
Glory
Member

Откуда:
Сообщений: 104760
ElenaG
Вчера все работало. сегодня выдает ошибку:

"Все" - это такая команда что ли ?
29 окт 09, 12:51    [7855309]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
ElenaG
Member

Откуда: Москва
Сообщений: 3388
Glory

"Все" - это такая команда что ли ?

Работала процедура внесения изменений в таблицу линкед-сервера. Процедура использовала join текущего сервера и линкед-сервера.
Эта процедура корректная, она работает еще с 7 линкед-серверами.
а вот с этим линкед-сервером сломалась. что-то случилось конкретно с ним.
29 окт 09, 12:57    [7855379]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
Glory
Member

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

"Все" - это такая команда что ли ?

Работала процедура внесения изменений в таблицу линкед-сервера. Процедура использовала join текущего сервера и линкед-сервера.
Эта процедура корректная, она работает еще с 7 линкед-серверами.
а вот с этим линкед-сервером сломалась. что-то случилось конкретно с ним.

Т.е. по прежнему нужно угадать команду, которая приводит к ошибке ?
29 окт 09, 12:59    [7855391]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
ElenaG
Member

Откуда: Москва
Сообщений: 3388
Glory
Т.е. по прежнему нужно угадать команду, которая приводит к ошибке ?

Смысл не в команде. но написать мне не трудно.
Эта же команда работает на 7 других линкед-серверах. И вчера она работала и на этом 8-м.
За ночь что-то сломалось. Я допускаю что ихние админы что-то наворотили. Но что я не знаю, а ко мне претензия, что моя процедура не работает.
Мне нужно понять что произошло и это исправить.

declare @daysC int
select @daysC =3

execute usp_ArchComm_OV_Switches_Linked_Delete
 @LinkedSeverName = '61East',
 @LinkedDataBaseName = 'FSK_09C_61',
 @MES_ID = 61, @days = @daysC

CREATE  proc [dbo].[usp_ArchComm_OV_Switches_Linked_Delete]
	@LinkedSeverName varchar(50), --Название линкед-сервера
	@LinkedDataBaseName varchar(50), --Название базы на линкед-сервере
    @MES_ID tinyint,  --ID Мэса
    @days int  --Количество дней перегрузки данных
as
declare @sql varchar(8000)
begin
  set nocount on 
  select @LinkedSeverName = '[' + @LinkedSeverName + ']'
  select @sql = 'declare @now datetime
  select @now = getdate() 
delete from ' + @LinkedSeverName + '.' + @LinkedDataBaseName + '.dbo.ArchComm_OV_Switches
 from ' + @LinkedSeverName + '.' + @LinkedDataBaseName + '.dbo.ArchComm_OV_Switches as Link_ArchComm_OV_Switches with (nolock)
 join ' + @LinkedSeverName + '.' + @LinkedDataBaseName + '.dbo.Hard_OV_Positions_List as Hard_OV_Positions_List with (nolock)
  ON Hard_OV_Positions_List.OV_ID = Link_ArchComm_OV_Switches.OV_ID
  and Hard_OV_Positions_List.OVPosition_ID = Link_ArchComm_OV_Switches.OVPosition_ID
 join Expl_User_Journal_OV_Positions_Change with (nolock)
  on Link_ArchComm_OV_Switches.OV_ID = Expl_User_Journal_OV_Positions_Change.OV_ID
  and Hard_OV_Positions_List.TI_ID = Expl_User_Journal_OV_Positions_Change.TI_ID
  and Link_ArchComm_OV_Switches.StartDateTime = Expl_User_Journal_OV_Positions_Change.StartDateTime
  and Link_ArchComm_OV_Switches.FinishDateTime = Expl_User_Journal_OV_Positions_Change.FinishDateTime
  and Expl_User_Journal_OV_Positions_Change.EventType = 0
  and Expl_User_Journal_OV_Positions_Change.EventDateTime >= dateadd(day, - ' + cast(@days as varchar(5)) + ', @now)
  and Expl_User_Journal_OV_Positions_Change.EventDateTime <= @now
 join vw_Dict_Hierarchy with (nolock) on Hard_OV_Positions_List.TI_ID = vw_Dict_Hierarchy.TI_ID
  and vw_Dict_Hierarchy.MES_ID = ' + cast(@MES_ID as varchar(2)) + '
 left outer join ArchComm_OV_Switches with (nolock)
  on ArchComm_OV_Switches.OV_ID = Link_ArchComm_OV_Switches.OV_ID
  and ArchComm_OV_Switches.OVPosition_ID = Link_ArchComm_OV_Switches.OVPosition_ID
  and ArchComm_OV_Switches.StartDateTime = Link_ArchComm_OV_Switches.StartDateTime 
 WHERE 
  isnull(ArchComm_OV_Switches.OV_ID, -1) = -1
'
 exec (@sql)
end
29 окт 09, 13:10    [7855502]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
Glory
Member

Откуда:
Сообщений: 104760
ElenaG
Glory
Т.е. по прежнему нужно угадать команду, которая приводит к ошибке ?

Смысл не в команде. но написать мне не трудно.

Логика железная. Неважно, что за код я пишу. Если он в семи местах сработал, то должен работать везде и всегда

Нужна команда, которая вызвала сбой. А не процедура ее формирования
29 окт 09, 13:13    [7855530]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
ElenaG
Member

Откуда: Москва
Сообщений: 3388
Glory
Нужна команда, которая вызвала сбой. А не процедура ее формирования

Чето я Вас не поняла. Так эта команда и вызвала, я ее вверху написала:
declare @daysC int
select @daysC =3

execute usp_ArchComm_OV_Switches_Linked_Delete
 @LinkedSeverName = '61East',
 @LinkedDataBaseName = 'FSK_09C_61',
 @MES_ID = 61, @days = @daysC
29 окт 09, 13:17    [7855573]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
Glory
Member

Откуда:
Сообщений: 104760
ElenaG
Glory
Нужна команда, которая вызвала сбой. А не процедура ее формирования

Чето я Вас не поняла. Так эта команда и вызвала, я ее вверху написала:
declare @daysC int
select @daysC =3

execute usp_ArchComm_OV_Switches_Linked_Delete
 @LinkedSeverName = '61East',
 @LinkedDataBaseName = 'FSK_09C_61',
 @MES_ID = 61, @days = @daysC

В вашей процедуре 4 команды. Каждая из них привела к ошибке ?
29 окт 09, 13:19    [7855592]     Ответить | Цитировать Сообщить модератору
 Re: Линкед-сервер Multiple-step OLE DB operation generated errors.  [new]
ElenaG
Member

Откуда: Москва
Сообщений: 3388
Glory
В вашей процедуре 4 команды. Каждая из них привела к ошибке ?

delete from [61East].FSK_09C_61.dbo.ArchComm_OV_Switches
если написать
select Link_ArchComm_OV_Switches.*
то ошибки не возникает.
29 окт 09, 13:26    [7855676]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить