Запрос на копирование данных таблицы из локальной базы данных в базу данных связанного сервера - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь скопировать все строки таблицы из базы данных моего локального компьютера в базу данных связанного сервера.

Это тот запрос, который я использую:

DECLARE @Qry nvarchar(MAX)
DECLARE @Server nvarchar(50)
SET @Server = '[LINKEDSERVER]'
SET @Qry = '
      DECLARE @Qry2 nvarchar(max)
      SET @Qry2 = N''
      SET IDENTITY_INSERT RDB.dbo.Type ON
      insert into RDB.dbo.Type (id, Name) Select ID,Name From 
      [LOCALSERVER].localdb.dbo.Type
      SET IDENTITY_INSERT RDB.dbo.Type OFF''
      EXEC ' + @Server + '.RDB.dbo.sp_executesql @Qry2'
EXEC SP_EXECUTESQL @Qry

Но я Я получаю эту ошибку - пожалуйста, помогите, что здесь сделать, чтобы заставить ее работать:

Не удалось найти сервер LOCALSERVER в sys.servers. Убедитесь, что указано правильное имя сервера. При необходимости выполните хранимую процедуру sp_addlinkedserver, чтобы добавить сервер в sys.servers.

, а если удалить [LOCALSERVER], то я получаю:

Invalid object name ' localdb '.

Пожалуйста, помогите, если любой другой запрос Dynami c может работать для копирования данных таблицы с локального сервера на связанный сервер.

1 Ответ

1 голос
/ 17 июня 2020

Вы пытаетесь запустить оператор sql на удаленном связанном сервере. На этом удаленном связанном сервере нет связанного сервера (запись в sys.servers), определенного для вашего локального сервера. Следовательно, вы получаете сообщение об ошибке.

Вы можете определить связанный сервер для вашего сервера на удаленном компьютере и выполнить инструкцию.

DECLARE @Qry nvarchar(MAX)
DECLARE @Server nvarchar(50)
SET @Server = '[LINKEDSERVER]'
SET @Qry = '
      DECLARE @Qry2 nvarchar(max)
      SET @Qry2 = N''
      SET IDENTITY_INSERT RDB.dbo.Type ON
      insert into RDB.dbo.Type (id, Name) Select ID,Name From 
      [LOCALSERVER].localdb.dbo.Type
      SET IDENTITY_INSERT RDB.dbo.Type OFF''
      EXEC ' + @Server + '.RDB.dbo.sp_executesql @Qry2'
EXEC SP_EXECUTESQL @Qry
...