Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
gessing
1

скрипт синхронизации

13.06.2013, 09:34. Показов 864. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Прошу помощи в написании скрипта ! этим делом никогда не занимался - теперь вот пришлось

суть проблемы:
есть два сервера (ms sql 2008), между ними настроена репликация. Проблема заключается только в синхронизации файлов. Создана дополнительная таблица на каждом сервере, куда с помощью триггера вносятся ID измененных / удаленных / новых файлов . Теперь мне необходимо изменить скрипт выборки и синхронизации файлов так, чтобы он руководствовался данными из этих таблиц... скрипт, который сейчас работает (криво) не устраивает.

DECLARE @IDSELAM table (ID uniqueidentifier,CreationDate datetime)
DECLARE @IDSToInsertElam table (ID uniqueidentifier)
DECLARE @IDSToDeleteElam table (ID uniqueidentifier)
DECLARE @IDSToInsertRzn table (ID uniqueidentifier)
DECLARE @IDSToDeleteRzn table (ID uniqueidentifier)
DECLARE @ID uniqueidentifier
DECLARE @SyncDate datetime
--PRINT 'Получаем коды и даты файлов с srvelam'
INSERT INTO @IDSELAM
SELECT ID,CreationDate FROM srvelam.ElamedFileDB.dbo.DataFiles

--PRINT 'Находим дату последнего синхронизованный файл'
SET @SyncDate=
(SELECT Max(t1.CreationDate) FROM @IDSELAM as t1 JOIN ElamedFileDB.dbo.DataFiles as t2 ON
t1.ID=t2.ID AND t1.CreationDate=t2.CreationDate)

--PRINT 'Находим файлы которые надо добавить на SrvElam'
INSERT INTO @IDSToInsertElam
SELECT r.ID FROM ElamedFileDB.dbo.DataFiles r LEFT JOIN
@IDSELAM e ON r.ID=e.ID
WHERE e.ID IS NULL AND r.CreationDate>@SyncDate

--PRINT 'Находим файлы которые надо удалить с SrvElam'
INSERT INTO @IDSToDeleteElam
SELECT e.ID FROM @IDSELAM e LEFT JOIN ElamedFileDB.dbo.DataFiles r ON r.ID=e.ID
WHERE r.ID IS NULL AND e.CreationDate<@SyncDate

--PRINT 'Находим файлы которые надо добавить на SrvRzn'
INSERT INTO @IDSToInsertRzn
SELECT e.ID FROM @IDSELAM e LEFT JOIN ElamedFileDB.dbo.DataFiles r ON r.ID=e.ID
WHERE r.ID IS NULL AND e.CreationDate>@SyncDate

--PRINT 'Находим файлы которые надо удалить с SrvRzn'
INSERT INTO @IDSToDeleteRzn
SELECT r.ID FROM ElamedFileDB.dbo.DataFiles r LEFT JOIN @IDSELAM e ON r.ID=e.ID
WHERE e.ID IS NULL AND r.CreationDate<@SyncDate

--PRINT 'Добавляем файлы на SrvElam'
INSERT INTO srvelam.ElamedFileDB.dbo.DataFiles
SELECT r.* FROM ElamedFileDB.dbo.DataFiles r JOIN @IDSToInsertElam ie ON r.ID=ie.ID

--PRINT 'Удаляем файлы с SrvElam'
DECLARE IDSDelElam CURSOR LOCAL FOR SELECT * from @IDSToDeleteElam
OPEN IDSDelElam
FETCH NEXT FROM IDSDelElam INTO @ID
WHILE @@FETCH_STATUS=0
BEGIN

заранее прошу прощенья, но в этом деле я новичок
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 09:34
Ответы с готовыми решениями:

Проблема синхронизации скриптов двух разных баз
Всем привет, Есть две базы данных &quot;Live&quot; и &quot;Dev&quot;. В Часто приходится новый версии скриптов...

Скрипт синхронизации папок
Помогите, пожалуйста, решить задачу: Написать программу синхронизации двух каталогов, например,...

Скрипт синхронизации файлов (зеркалирования)
Продолжая тему данного повествования, решил перенести топег в более общий раздел, дабы не засорять...

Создать скрипт для синхронизации файлов
Помогите, пожалуйста, решить задачу : cоздать скрипт (командный файл) решающий указанную в варианте...

0
13.06.2013, 09:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 09:34
Помогаю со студенческими работами здесь

Скрипт умной синхронизации файлов (зеркалирования)
Да, тема конечно не нова, что уже где-то когда-то чего-то и может быть такое реализовано. Вобщем-то...

Подобие синхронизации
Хочу сделать программу, которая будет копировать новые или изменённые файлы с флэшки на компьютер ,...

Вопрос по синхронизации
Пишу сетевую игрушку, вот возник вопрос 1. У меня есть контейнер типа map из STL в котором...

Модуль синхронизации
Всем привет! Сейчас потихоньку изучаю 1С и хочу написать модуль, который будет забирать данные из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru