Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Миграция данных при обновлении ПО  [new]
Ольга Семенова
Member

Откуда:
Сообщений: 698
MS SQL 2012
Помогите пожалуйста с ВЕРНЫМ алгоритмом по миграции данных из одной БД в другую

Имеется небольшой call-центр по приему/записи звонков от клиентов на основе Oktell
В базу пишутся информация о всех поступающих звонках (длительность, номер телефона, путь к звуковому файлу,...), а сами звуковые файлы кладутся по папкам

Все это сейчас хранится в таблицах БД пронумерованными типа
Calls_1
Calls_2
...
Calls_n

каждая такая содержит звонки за определенный месяц

Нужно эту информацию перенести в Новую базу данных и отредактировать поле "путь к звуковому файлу" т.к. в Новой БД развернута на другом серваке. В Новой БД эти таблицы идентичны по структуре и пусты

Подскажите наиболее БЫСТРЫЙ и простой способ по копированию данных из множества таблиц (в каждой таблице сотни тысяч записей) из одной БД в идентичные Таблицы по структуре, но в другой БД

И дальнейший апдейт ЧАСТИ значений одного из поля в новых таблицах.
Нужно значение поля Path будет заменить на новое, т.к. файлы я вручную скопирую на сервер БД

например "с:\calls_1\sound.wav" на другую ЧАСТЬ "d:\target\sound.wav"
т.е. часть пути нужно будет изменить на НУЖНЫЙ


Бредовая ли у меня идея сделать это через
Insert INTO Select
?

наподобие
SET @Number_Table int = 1
SET @End_Table int  = 12

Begin
WHILE @Number_Table < @End_Table  
  BEGIN
    SET @query = 'Insert into New.Calls_' +CAST(@Number_Table AS varchar(2)) + 'select * from Old.Calls_'+CAST(@Number_Table AS varchar(2))
    EXEC(@query) 
    SET @Number_Table=@Number_Table +1
 END
END
11 дек 17, 21:27    [21025286]     Ответить | Цитировать Сообщить модератору
 Re: Миграция данных при обновлении ПО  [new]
flexgen
Member

Откуда: Город на песке
Сообщений: 771
Ольга Семенова,

У меня такой вопрос - если все таблицы идентичны по структуре то почему просто не выполнить бэкап базы и не восстановить ее на новый сервер? А потом изменить значение пути простым апдейтом?
11 дек 17, 22:38    [21025423]     Ответить | Цитировать Сообщить модератору
 Re: Миграция данных при обновлении ПО  [new]
Ольга Семенова
Member

Откуда:
Сообщений: 698
flexgen
Ольга Семенова,

У меня такой вопрос - если все таблицы идентичны по структуре то почему просто не выполнить бэкап базы и не восстановить ее на новый сервер? А потом изменить значение пути простым апдейтом?


если бы все так было просто ))). Она идентична лишь в части тех таблиц, данных которых мне нужно. Остальное уже имеет другую структуру. Поэтому мне как чайнику наверное придется столкнуться с проблемами настройки также внешних ключей, констрейнов
11 дек 17, 23:07    [21025483]     Ответить | Цитировать Сообщить модератору
 Re: Миграция данных при обновлении ПО  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7671
Ольга Семенова,

копируйте файлы в те же папки и не говорите, что это невозможно. win позволяет подключать диски как папки.
12 дек 17, 10:56    [21026201]     Ответить | Цитировать Сообщить модератору
 Re: Миграция данных при обновлении ПО  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Ольга Семенова,

1. Самый простой, чтобы даже программировать не пришлось - Мастер импорта/экспорта. Right click on a database -> Tasks -> Import/Export Data.
2. Для того чтобы сделать апдейт таки прийдется научится писать UPDATE. Не совсем понятно в чем тут проблема то? Заменить одну строку другой можно командой REPLACE.
13 дек 17, 02:48    [21029243]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить