Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Собрать БД из двух файлов в один [MSSQL]


Ega23 ©   (2007-01-23 16:08:00) 

Есть основная БД.
Так исторически сложилось, что состоит из трёх файлов: два файла данных + файл transaction log.
Есть мнение, что её надо перевести на два файла: один - данные, один - лог.
Создать БД - без проблем. Вопрос, как туда перенести все данные.
Самый простой способ - из бэкапа восстановить. Но там требуется адекватная файловая структура БД.
Другой способ - тупо перегнать данные через DTS (но это будет долго работать, БД - 2 Гб).

Вопрос 1: что делать?
Вопрос 2: есть ли другой способ?


Ega23   (2007-01-23 17:23:00) [1]

э-э-э, тут другое, тут из бэкапа надо его "вырезать".
Хотя и такой вариант опробую.


stone   (2007-01-23 17:19:00) [2]


> Ega23 ©   (23.01.07 16:51) [2]

Вот что нам советует великий БОЛ
USE master
GO
ALTER DATABASE Test1
REMOVE FILE test1dat4
GO

также может быть полезен DISK REINIT(REFIT)


Ega23   (2007-01-23 16:51:00) [3]

Всё оказалось гораздо проще. Я так и знал, что способ есть:
dbcc shrinkfile


zdm   (2007-01-23 16:37:00) [4]

Единственное, что приходит на ум-это за оставшиеся до выходных дни, написать прогу на построчное пробегание и инсерт из одной в другую, либо глобальный запрос с внешним соединением, но не факт, что это будет быстрее, да и надо учесть время на создание запроса. Оценить среднее время "перекидывания" данных из одной таб. в другую и если хватит выходных, то в ночь с пятницы на понедельник запустить сей ужасающий процесс.


Наверх

Титульная страница Поиск, карта сайта Написать письмо