![]() |
Выгрузка базы в текстовый файл и загрузка обратно
Необходимо сделать выгрузку базы MS SQL (11 Gb) в текстовый файл, после чего осуществить его загрузку обратно в базу. Возможно ли это и как реализуется на практике?
|
Жень да ты обалдел, 11 гигов в текстовик :)
А если серьезно, то опиши что ты хочешь получить? В текст можно перегнать только отдельные таблицы, т.к. база - это и система безопасности, и запросы, и триггеры, и планировщики и еще много чего другого. |
Цитата:
2) Сразу говорю, что работать такая штука будет долго. Так, что имеет смысл подумать о многоступенчатой выгрузке: - промежуточное формирование таблицы-выгрузки в MS SQL - выгрузка в файлы. В один файл, я бы выгружать не рискнул. Лучше использовать наборы файлов. Реально, больше чем 100 МБ текстовый файл я не обрабатывал. Размер лучше подобрать эмпирическим путем, ну скажем по 100 000 строк. Результаты работы лучше журналировать в отдельном файле. 3) Я бы пробовал реализовать такое на PERL при помощи DBI, DBD 4) А какие-либо средства импорта использовать можно? Или хоть убейся, но нужен txt? |
1. Не получится - коммерческая тайна и всё такое. :(
2. Как это реализовать? 3. Не владеем - сможешь помочь? 4. Наверняка можно, но вот вот вопрос - какие средства, кроме стандартных, имеются для этого? Опишу чуть подробней ситуацию, может будет проще решить проблему: Есть старая 11 ГБ база данных MS SQL 2000 "1С: Предприятие 7" (~500 таблиц), в которой ковырялось не одно поколение программистов. Поставили задачу попробовать осуществить выгрузку данных из базы с последующей загрузкой этих данных в другую базу. Сотрудник, занимающийся этой проблемой накидал программку в C#, которая позволяет автоматизировать процесс выгрузки таблиц из базы в плоские файлы: Код:
using System; Цитата:
P.S. Ошибка вываливается как на SQL 2005 SP3 (RUS), так и на SQL 2008 SP2. P.P.S. Сейчас будем проверять работу импорта на SQL 2005 SP4 ENG. |
Проблема не в версиях MS SQL, а в выгруженных файлах. Встречный вопрос - а зачем придумывать велосипед то? Не проще мастером импорта-экспорта из SQL 2000 выгрузить данные таблиц, а потом сделать импорт? Или же прямо в 2005 SQL сделать импорт-экспорт с базы 2000 сиквела?
|
Время: 05:31. |
Время: 05:31.
© OSzone.net 2001-