Не удалось удалить запись со связанного сервера

Последние два дня я всюду искал решение своей проблемы, но безуспешно.

У меня есть этот запрос, который удаляет запись с удаленного сервера:

delete from OPENROWSET('SQLNCLI', 'Server=AB01S\SQLEXPRESS;Database=ShopData;Trusted_Connection=yes', 'Select receipt_n,action_in, action_ty, action_field_name,action_field_type,action_field_data, terminal from tblData where receipt_n= 1 and terminal = 1');

и я получаю эту ошибку:

OLE DB provider "SQLNCLI" for linked server "(null)" 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 1

Это также предлагает использовать sp_addlinkedserver добавить связанный сервер.

Некоторые заметки:

  1. Это происходит только на этом конкретном компьютере + удаленный сервер. На 2 разных станциях (компьютер + сервер) все работало просто отлично.
  2. Вставка в OpenRowSet работает нормально.
  3. Выберите * из OpenRowSet работает нормально. => Изменение удаления на * работает нормально.
  4. Ad hok включен на компьютере, который запрашивает
  5. Удаленное соединение включено на компьютере, запрашиваемом через openrowset
  6. Я могу пинговать сервер (AB01S)

До сих пор я пытался добавить связанные настройки через графический интерфейс и sp_addlinkserver,

1 ответ

Я нашел проблему!

Имя сервера (по какой-то причине) было неверным.@@servername вернул AB01S_88

Решение было следующим: запустить следующий код и затем перезапустить службу:

exec sp_dropserver @@servername
exec sp_addserver 'AB01S', local
exec sp_serveroption 'AB01S', 'data access' , 'true'
Другие вопросы по тегам