Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

корректный перенос данных MSSQL   Найти похожие ветки 

 
atmamont ©   (2003-01-20 00:54) [0]

Есть рабочая и домашняя машины.
Как корректно отражать изменения в структуре базы с сохранением данных?
Какой из вариантов обычно используется?
1. тупо копировать файлы mdf, ldf
2. на источнике делать create sql script, потом выгружать данные, на приемнике восстанавливать структуру и импортировать данные
3. тут еще много вариантов есть, однако лучше послушаю опытных людей


 
Reindeer Moss Eater   (2003-01-20 08:58) [1]

Все изменения структуры (в том числе иначальный вариант) очень удобно иметь в виде скриптов.


 
atmamont ©   (2003-01-20 14:47) [2]

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


 
Reindeer Moss Eater   (2003-01-20 14:51) [3]

Почему ручками-то?
Кто нибудь запрещал писать утилиты генрации SQL скриптов на вставку записей?


 
atmamont ©   (2003-01-20 15:23) [4]

это подразумевает полный перенос данных, что в случае с большой базой плохо :)


 
Reindeer Moss Eater   (2003-01-20 15:28) [5]

Чем плохо и кому?


 
atmamont ©   (2003-01-20 15:29) [6]

это не по теме.
спасибо за твои предложения, я понял что имеется в виду


 
Мышь ©   (2003-01-20 20:51) [7]

Можно "после добавления полей в таблицу автоматом получить скрипты, изменяющие первоначальную структуру таблицы". Для этого есть галочка в диалогах, которые появляются при подтверждении изменений структуры таблиц в Enterprise Manager"e (в MSSQL70 точно есть). Далее, придется ручками (ну, в смысле тем же EM"ом) заскриптовать представления с учетом их взаимосвязей, а также хранимые процедуры и т.д. и т.п.
А еще есть много программок, которые сравнивают две базы и модифицируют их, причем и структуры и данные.


 
Alex Konshin   (2003-01-20 21:50) [8]

Можно перенести базу целиком в виде файлов. Крайне желательно ее ужать, чтобы логи были по-короче, ну и понятно зазиповать. Если после этого она влазит, например, на CD-RW или OMD, то потом приносишь ее домой целиком, разворачиваешь на тот же драйв и по такому же пути.
Но я тащил все базы вместе с системными, если нужно таскать только одну базу, то, возможно, нужно будет сначала создать пустую базу с тем же именем и на том же месте, а потом просто подменить файлы. Вроде так тоже работало - сейчас уже не помню.
Кстати, возможно, что после такого финта можно будет просто backup-restore, но врать не буду - не пробовал.


 
atmamont ©   (2003-01-20 23:34) [9]

на первичной стадии разработки она вообще на дискетку влазит


 
Kalugin   (2003-01-21 00:18) [10]

Мастера! а такой простой способ как снять в однм месте бэкап и поднять его в другом не рассмотривается?


 
Higs   (2003-01-21 08:57) [11]

А какие, например, есть программы "которые сравнивают две базы и модифицируют их, причем и структуры и данные."?


 
bolega   (2003-01-21 09:38) [12]

Я перенос базы делаю постоянно путем backup/restore.
Выгружаю с сервера, загружаю на локальной машине.
Все прекрасно работает.
Названия баз данных одинаковые. Расположения разные.
Только надо не забывать, что переносятся при этом также
и списки пользователей.

А вот если названия БД не совпадают, то при restore
начинает что-то там ругаться, но тут же предлагает
поменять значение физ. расположения базы (не имени БД,
а пути к файлам!). Меняешь как надо, и дальше все OK.


 
bolega   (2003-01-21 09:49) [13]

> А какие, например, есть программы "которые сравнивают две базы > и модифицируют их, причем и структуры и данные."?

Есть у меня такая. Где брал не помню.
Называется SQL ToolBox.
Сама она ничего не модифицирует, но может генерировать
соответствующий SQL-код. Умеет сравнивать таблицы, view, sp.
Freeware.
Кому надо - давайте email.


 
Higs   (2003-01-21 10:02) [14]

А мыло в профиле, то бишь, и не скрыто! Потому как именно это и интересно - сама пусть ничего не меняет, нужна именно разница в сгенеренных скриптах!!!


 
DPetrovich ©   (2003-01-21 10:19) [15]

Удалено модератором
Примечание: Личная переписка, используй для это емайл


 
bolega   (2003-01-21 10:40) [16]

> А мыло в профиле, то бишь, и не скрыто!

Пардон...
oleg@yugmes.elektra.ru

Из readme:
Возможности программы:
Генерация шаблонов и скриптов Transact-SQL для вставки, удаления, обновления, выборки записей из таблицы, выгрузки таблицы в скрипт, обновление таблицы по ключевому полю, генерация Basic, Java кода для класса обработки таблицы, генерация Basic кода для работы с диалогом, сравнение структуры таблиц, сравнение скриптов процедур, генерация IN/OUT скриптов для BCP.


 
aston   (2003-01-21 14:09) [17]

IMHO, всю структуру базы данных необходимо проектировать и создавать на сервере с использованием соответствующих средств, которые называются Data Modeling Tools. Это особенно необходимо, когда проект достаточно крупный и его разрабатывают (поддерживают) несколько (десятков, сотен и т.д.) человек, т.к. вся структура бызы представлена довольно наглядно со всеми взаимосвязями, а не тупым линейным списком, как в SQLNavigator"e, TOAD"e, IBExperte и тому подобными DBMS-средставми.

Мы у себя, например, используем ErWin. Если структуру необходимо поддерживать на разных серверах - вещь незаменимая.
Технология такая: рисуешь (создаешь заново или модифицируешь) в ErWin"е структуру базы. Делаешь Forward Engeniring.
ErWin выдает скрипт, в котором определы только НЕОБХОДИМЫЕ DDL"ы, которые нужны для синхронизации структуры реальной базы с той структурой, которая в ErWin"е.

Далее таскаешь с собой только Er-файл (к клиенту или домой). Открываешь его в ErWin"е на другой машине, цепляешся к другому серверу. Вызываешь Forward Engeniring (DBSync, если для одной таблицы) - получаешь нужный скрипт.

Все, занавес.


 
atmamont ©   (2003-01-21 14:27) [18]

Это особенно необходимо, когда проект достаточно крупный и его разрабатывают (поддерживают) несколько (десятков, сотен и т.д.) человек

а если нет, то это стрельба из пушки по воробьям
все зависит от конкретной ситуации


 
mate ©   (2003-01-21 14:41) [19]

bolega (21.01.03 09:49)
mate_ru@fromru.com
С огромной благодарностью. :)


 
Higs   (2003-01-21 21:49) [20]

Не,то,что от bolego, именно то, что и хотелось!!! Спасибо!!!



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

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
4-16007
K_O_T
2002-12-25 00:41
2003.02.06
Создание ContextMenuHandlers


9-15390
Thor
2002-08-19 15:49
2003.02.06
Jedi-SDL-Complete-0.5


3-15418
koks
2003-01-16 14:24
2003.02.06
IBExpert -> Validate ...


3-15519
Ihor Osov'yak
2003-01-21 00:00
2003.02.06
Аналог интербейсовского генератора в MS SQL 2000


3-15421
Сергей
2003-01-22 10:28
2003.02.06
Как перенести таблицу из HTML в БД?