Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Вниз

Как организовать архивацию?   Найти похожие ветки 

 
newb   (2002-10-27 11:03) [0]

Мастера, помогите, пожалуйста.

Вопрос:
Мне необходимо из таблицы SQL-Server"а
(очень большой и всё время увеличивающейся)
производить архивацию данных в виде, желательно
бинарных или каких-то других, файлов. А потом при
желании их много восстановить в эту таблицу.

Сам создал для этого утилиту, работающею по
ADO технологии, с незамысловатым интерфейсом.
А как реализовать свой вопрос не знаю.

Пожалуйста, подскажите.


 
KSergey   (2002-10-27 13:19) [1]

Не понятно, для чего и какая утилита создана. По контексту- впечатление, что для архивации. но потом "как реализовать вопрос - не знаю". (а что его реализовывать вопрос-то? его спросил - вот и реализовал.)
Но все же возьму на себя смелось домыслить за автора смысл вопроса. Архивировать - создавать просто резервные копии или выделять часть старых записей в отдельное место?
Если просто удалять из базы старые записи, перенося их в другое место - по-моему, самое простое - завести на сервере еще одну базу и переносить в нее записи SQL-запросом. Ну а уж откуда его посылать - это не важно.
Восстановить - тоже проще простого: добавить из архивной БД записи назад - вот и все. Вот и восстановили.
По повод бинарного файла - не понятно. Например, формат файла MS SQL-сервера с БД достаточно бинарен? Ну тогда вот и все.
Как выделить записи, подлежащие архивированию - надеюсь сами придумаете (а что тут подскажешь? от задачи зависит). Предположим, по дате ввода
Тогда примерно такой запрос имеем для архивации (не ручаюсь за абсолютную верность синтаксиса, проверять лень) Предполагается, что в базах таблицы имеют идентичную структуру (для простоты) Исходная БД - WorkDB, выходная (архивная) - ArcDB

INSERT INTO ArcDB..Table
SELECT *
FROM WorkDB..Table
WHERE DateCreateRec < "05/05/1999"

DELETE FROM WorkDB..Table
WHERE DateCreateRec < "05/05/1999"


Разумеется, все это нужно дополнить транзакцией. Ну восстановление - сами придумаете.


 
Anatoly Podgoretsky   (2002-10-27 13:31) [2]

Вроде у MSSQL есть штатные средства архивирования


 
Delirium   (2002-10-27 13:40) [3]

Мало того, что есть механизмы buckup/restore, есть средства для переноса баз detach/attach и разумеется, есть способ выгружат/загружать информацию в примитивные форматы, типа Comma Separated (CSV) или Tab Delimited (см.BULK INSERT и bcp Utility).


 
KSergey   (2002-10-27 15:14) [4]

да вот не понятно что человек имеет в виду под архивированием... Надеюсь, что рано или поздно разъяснит таки нам, недотепам...


 
newb   (2002-10-27 15:41) [5]

Большое спасибо откликнувшимся. (особенно KSergey за столь
подробную критику моего вопроса :-) )
Моя проблема в том, что создавать новую БД(где будут храниться
архивированные данные) нельзя. Это - не моё решение.
Под архивированием я понимаю - извлечение данных из таблицы
с удалением(чтобы V уменьшить).
Тогда ещё вопросы:
1) в виде каких файлов лучше хранить данные?
2) И о штатных средствах архивирования MSSQL можно, пожалуйста,
по-подробнее.
3) Где можно найти информацию на ответ Delirium(я не большой профессионал)


 
Anatoly Podgoretsky   (2002-10-27 15:47) [6]

На сайте Микрософт есть документация весьма приличного объема, многие десятки мегабайт и что особо приятно абсолютно бесплатно.


 
sniknik   (2002-10-27 17:53) [7]

Зачем так далеко? Books Online под носом в установке MSSQL набери чтонибудь backup,restore,detach,attach и выбирай что подойдет это для сохранения востановления базы.

если архивирование чтобы V уменьшить. то еще понадовится DBCC SHRINKDATABASE, DBCC SHRINKFILE ну и DBCC DBREINDEX.

это помимо SELECT INTO и DELETE FROM для переноса и удаления (архивируемых) данных.

хранить лутше в родном MSSQL-евском формате *.mdf.


 
newb   (2002-10-28 19:36) [8]

Пожалуста не думайте, что я полный The Fool, просто
мне только 19, и я недавно начал работать в этой области :-).
Мне не ясно что такое :DBCC SHRINKDATABASE, DBCC SHRINKFILE и DBCC DBREINDEX?
И backup,restore,detach,attach - что? - штатные средства архивирования?
Заранее спасибо всем откликнувшимся.


 
sniknik   (2002-10-28 22:49) [9]

это средства MSSQL
DBCC SHRINKDATABASE - сжатие базы
DBCC SHRINKFILE - сжатие файла содержащего базу
DBCC DBREINDEX - переиндексация базы
backup,restore,detach,attach - сохранение, востановление, отцепить и прицепить базу.

Запусти Books Online (в поставке MSSQL) и посмотри справку по этим словам.




Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
1-59198
AL2002
2002-11-06 12:37
2002.11.18
Прога, запущенная этим кодом, освободит память, когда завершится?


14-59408
esu
2002-10-31 05:08
2002.11.18
Можно ли в списке компонент сделать заголовки в несколько строк ?


3-58989
Just_Dont_Know
2002-10-28 18:21
2002.11.18
Медленно выполняется запрос...


1-59116
Soors
2002-11-05 21:52
2002.11.18
Запись в EXE


3-59052
ComDiv
2002-10-29 17:32
2002.11.18
Долго формируется запорс





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский