powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server Management Studio (SSMS) Запросы между серверам
25 сообщений из 43, страница 1 из 2
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992275
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Подскажите, пожалуйста, интересует вот такой вопрос: Существует 2 сервера на первом сервере идет запись с измерительного прибора (прибор автоматически создал для себя БД и записывает данные в таблицу "Result") Необходимо запрашивать c таблицы "Result" нужные столбцы и записывать на второй сервер запрашиваемые данные. Запрос должен повтрятся раз в 10-20 минут.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992317
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem,

на втором сервере делаешь линк.сервер для первого - https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-ver15

и дальше создаешь Job с нужным расписанием, в котором и будет "запрашивать c таблицы "Result" нужные столбцы и записывать на второй сервер запрашиваемые данные"
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992319
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
ArtDem,

на втором сервере делаешь линк.сервер для первого - https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-ver15

и дальше создаешь Job с нужным расписанием, в котором и будет "запрашивать c таблицы "Result" нужные столбцы и записывать на второй сервер запрашиваемые данные"


вариант 2 - SSIS пакет + тот же Job, но, имхо, тебя это не заинтересует
(но при большом объеме загружаемых/синхронизируемых данных, этот вариант может существенно выигрывать ...)
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992338
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court,

не все так просто - прибору нельзя мешать записывать в таблицу. Здесь нужен вариант с темпоральной таблицей или CDC. Первый вариант заметно проще. Также можно настроить репликацию для передачи данных, если позволяет конфигурация.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992589
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court

на втором сервере делаешь линк.сервер для первого - https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-ver15

и дальше создаешь Job с нужным расписанием, в котором и будет "запрашивать c таблицы "Result" нужные столбцы и записывать на второй сервер запрашиваемые данные"

Спасибо!

Я сделал линк, можно поподробнее, как создать Job ?
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992593
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem,

Агент SQL сервер, задания, добавить.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992594
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992637
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,
Владислав Колосов,
Я имел виду, как реализовать вот такую задачу: запись данных на второй сервер.
Что я сделал, создал задачу с помощью вставил запрос:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
SELECT [ID]
      ,[Point_ID]
      ,[Epoch]
      ,[Easting]
      ,[Northing]
      ,[Height]
      ,[EastingDiff]
      ,[NorthingDiff]
      ,[HeightDiff]    
  FROM [WIN-PIGV1ANGL00].[NordSteam].[dbo].[Results]


Понимаю, что этого не достаточно, нужно, как то теперь это записать в БД Match на сервере 2.
Есть возможность подсказать ?
Спасибо!
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992644
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак то теперь это записать в БД Match на сервере 2Командой insert конечно
https://docs.microsoft.com/en-us/sql/t-sql/statements/insert-transact-sql?view=sql-server-ver15
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992645
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem
как то теперь это записать в БД Match на сервере 2.

в шаге Job-а измени запрос на INSERT
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
INSERT INTO [Match].[dbo].[Results](
       [ID]
      ,[Point_ID]
      ,[Epoch]
      ,[Easting]
      ,[Northing]
      ,[Height]
      ,[EastingDiff]
      ,[NorthingDiff]
      ,[HeightDiff])
SELECT [ID]
      ,[Point_ID]
      ,[Epoch]
      ,[Easting]
      ,[Northing]
      ,[Height]
      ,[EastingDiff]
      ,[NorthingDiff]
      ,[HeightDiff]    
  FROM [WIN-PIGV1ANGL00].[NordSteam].[dbo].[Results]
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992691
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
court, Спасибо!
Я правильно понимаю, что расписание тут надо настраивать (см.скрин).
Я так настраивал для бэкапа и у меня все работает, а вот тут нет, запись прошла после того как вызвал контекстное меню "Запустить задание на шаг" и после этого таблица не обновляется.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992697
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem,

проверьте выполнение по журналу задания.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992717
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов,

Да,ошибки выдает.
Не удалось завершить задание. Запуск задания был произведен Расписание 19 (SA). Последним выполнявшимся шагом был шаг 1 (SE).
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992728
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtDem
Владислав Колосов,

Да,ошибки выдает.
Не удалось завершить задание. Запуск задания был произведен Расписание 19 (SA). Последним выполнявшимся шагом был шаг 1 (SE).

Бэкап выполняется без проблем, агент работает.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992729
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem
ArtDem
Владислав Колосов,

Да,ошибки выдает.
Не удалось завершить задание. Запуск задания был произведен Расписание 19 (SA). Последним выполнявшимся шагом был шаг 1 (SE).

Бэкап выполняется без проблем, агент работает.
Если для джоба задать расписание, он будет выполняться нормально. Если для джоба не задать расписание, то он не будет выполняться никогда. Ну еще если для джоба сделать непонятные действия, то результат тоже будет не понятный. У вас какой из трех вариантов?
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992739
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич, Первый вариант, я уже настраивал джоп для бэкапа и все работает.
Настроил доступ к папкам, так же агент был подключен адекватно, через администратора.
Бэкап по сей день работает.
Запрос тоже адекватно написан, я проверял.
Мне кажется, что это из за первого сервера, так как там нет агента, но с другой стороны, я же сделал линк между первым и вторым сервером.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992745
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стало понятнее, ага.

Давайте для простоты вы забудете про джоб с бэкапом и чётко так прям по пунктам расскажете следующее:

1. На каком сервере есть данные.
2. На какой сервер их надо перетащить.
3. На каком сервере из двух вы сделали линкованный сервер.
4. На каком сервере из двух вы пытаетесть сделать джоб.
5. На каком сервере из двух есть агент, а на каком нет.

А то серверов аж целых два, и за вашими руками и мыслями не уследить.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992757
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Стало понятнее, ага.

Давайте для простоты вы забудете про джоб с бэкапом и чётко так прям по пунктам расскажете следующее:

1. На каком сервере есть данные.
2. На какой сервер их надо перетащить.
3. На каком сервере из двух вы сделали линкованный сервер.
4. На каком сервере из двух вы пытаетесть сделать джоб.
5. На каком сервере из двух есть агент, а на каком нет.

А то серверов аж целых два, и за вашими руками и мыслями не уследить.



1. Первый сервер имя "WIN-PIGV1ANGL00" - этот сервер был установлен автоматически при установки ПО от прибора, Второй сервер был создан мною так как нужен был Агент имя сервера "WIN-PIGV1ANGL00\MSSQLSERVER02" тут я создал БД Match и таблицу Result.
2. На второй.
3. На втором.
4. На втором.
5. На первом нет, на втором есть.

Добавлю от себя, удалил джоп и таблицу, и сделал все заново, агент сработал один раз, второй запуск был уже с ошибкой.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992759
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ArtDem
Гавриленко Сергей Алексеевич
Стало понятнее, ага.

Давайте для простоты вы забудете про джоб с бэкапом и чётко так прям по пунктам расскажете следующее:

1. На каком сервере есть данные.
2. На какой сервер их надо перетащить.
3. На каком сервере из двух вы сделали линкованный сервер.
4. На каком сервере из двух вы пытаетесть сделать джоб.
5. На каком сервере из двух есть агент, а на каком нет.

А то серверов аж целых два, и за вашими руками и мыслями не уследить.



1. Первый сервер имя "WIN-PIGV1ANGL00" - этот сервер был установлен автоматически при установки ПО от прибора, Второй сервер был создан мною так как нужен был Агент имя сервера "WIN-PIGV1ANGL00\MSSQLSERVER02" тут я создал БД Match и таблицу Result.
2. На второй.
3. На втором.
4. На втором.
5. На первом нет, на втором есть.

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

См. Скрин
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39992763
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там еще плюсики есть на вашем скрине, вы их пробовали нажимать, ошибки читать?
В которых скорее всего написано, что в таблице [Match].[dbo].[Results] уже есть записи с каким-то идентификатором.

Надо как бы понимать, что вы делаете, а не слепо верить, что ваш запрос адекватный. Не адекватный он.

Из таблицы [WIN-PIGV1ANGL00].[NordSteam].[dbo].[Results] надо выбирать не все записи, а только те, которых еще нет в [Match].[dbo].[Results]. Или, если предположить, что ID монотонно возрастает, то те, у которых идентификатор больше, чем максимальный в [Match].[dbo].[Results].

Как-то так:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
INSERT INTO [Match].[dbo].[Results](
       [ID]
      ,[Point_ID]
      ,[Epoch]
      ,[Easting]
      ,[Northing]
      ,[Height]
      ,[EastingDiff]
      ,[NorthingDiff]
      ,[HeightDiff])
SELECT [ID]
      ,[Point_ID]
      ,[Epoch]
      ,[Easting]
      ,[Northing]
      ,[Height]
      ,[EastingDiff]
      ,[NorthingDiff]
      ,[HeightDiff]    
  FROM [WIN-PIGV1ANGL00].[NordSteam].[dbo].[Results] a
where
  a.id > ( select max( x.id ) from [Match].[dbo].[Results] x )
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39993156
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое ребята.
Все работает.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39993225
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem
court, Спасибо!
Я правильно понимаю, что расписание тут надо настраивать (см.скрин).
Я так настраивал для бэкапа и у меня все работает, а вот тут нет, запись прошла после того как вызвал контекстное меню "Запустить задание на шаг" и после этого таблица не обновляется.


Бекап делается каждые 10 СЕКУНД???
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39993501
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SQL2008,
Нет, это для теста было сделано, два раза в неделю.
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39994418
ArtDem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Возник один вопрос, как записывать только новые данные в таблицу?
Запрос между двумя таблицами.
Запрашиваем новые данные с таблицы dbo.Results и записываем в таблицу dbo.Match.

Столбцов Point_ID=24 есть еще столбец Epoch - время измерения.
Нужно, чтобы записывались только свежие данные.
Подскажите, как правильно это сделать?
...
Рейтинг: 0 / 0
SQL Server Management Studio (SSMS) Запросы между серверам
    #39994421
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ArtDem
Добрый день! Возник один вопрос, как записывать только новые данные в таблицу?
Запрос между двумя таблицами.
Запрашиваем новые данные с таблицы dbo.Results и записываем в таблицу dbo.Match.

Столбцов Point_ID=24 есть еще столбец Epoch - время измерения.
Нужно, чтобы записывались только свежие данные.
Подскажите, как правильно это сделать?

Использовать MERGE.
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server Management Studio (SSMS) Запросы между серверам
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]