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

Откуда:
Сообщений: 4
Привет-привет.
Столкнулась с проблемой. Мы имеем очень большую и тяжелую БД, суть в том, что надо выгрузить все данные за последние, допустим, 3 месяца. С сохранением связей между таблицами и пр.
Как это будет реализовано = полет фантазии.
8 апр 16, 12:19    [19032012]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Glory
Member

Откуда:
Сообщений: 104751
БД - это не одна таблица, где у каждой записи есть поле с датой.
Так что фантазируйте.
8 апр 16, 12:23    [19032050]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Inkis
Member

Откуда:
Сообщений: 4
Вот и хотела узнать, можно ли через management studio, к примеру, выгрузить бэкап за определенный промежуток.
Рассматривать каждую таблицу было бы затратно, к тому же ни у одной из них нет "даты создания". Может кто-то сталкивался?
8 апр 16, 13:11    [19032371]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Glory
Member

Откуда:
Сообщений: 104751
Inkis
выгрузить бэкап за определенный промежуток.

вы неправильно понимаете, что такое бэкап.

Inkis
Рассматривать каждую таблицу было бы затратно, к тому же ни у одной из них нет "даты создания". Может кто-то сталкивался?

Дата создания есть у любого объекта базы. Просто непонятно, как она вам поможет.
8 апр 16, 13:15    [19032403]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Inkis
Member

Откуда:
Сообщений: 4
Ок, есть ли какие нибудь-предложения? кроме фантазирования)
8 апр 16, 13:20    [19032436]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Glory
Member

Откуда:
Сообщений: 104751
Inkis
есть ли какие нибудь-предложения?

Предложение, как вам выгрузить неизвестные данные из неизвестных таблиц, чтобы
- это было нажатием одной кнопки
- это было правильно
?
8 апр 16, 13:23    [19032467]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
iljy
Member

Откуда:
Сообщений: 8711
Inkis
Ок, есть ли какие нибудь-предложения? кроме фантазирования)


Пока только пофантазировать на тему "а вдруг мы знаем структуру базы, знаем предметную область и можем по содержимому таблиц так или иначе определить, какие данные когда были модифицированы?". Скопировать же структуру БД (с сохранением связей и прочего) можно с помощью функции SSMS "Сформировать сценарии".
8 апр 16, 13:25    [19032474]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
iljy
Inkis
Ок, есть ли какие нибудь-предложения? кроме фантазирования)


Пока только пофантазировать на тему "а вдруг мы знаем структуру базы, знаем предметную область и можем по содержимому таблиц так или иначе определить, какие данные когда были модифицированы?". Скопировать же структуру БД (с сохранением связей и прочего) можно с помощью функции SSMS "Сформировать сценарии".

Дата модификации строки нигде не фигурирует, эта информация избыточна для сервера. Если нет отдельного столбца отвечающего за это то вы не узнаете.
8 апр 16, 14:48    [19033130]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
iljy
Inkis
Ок, есть ли какие нибудь-предложения? кроме фантазирования)


Пока только пофантазировать на тему "а вдруг мы знаем структуру базы, знаем предметную область и можем по содержимому таблиц так или иначе определить, какие данные когда были модифицированы?". Скопировать же структуру БД (с сохранением связей и прочего) можно с помощью функции SSMS "Сформировать сценарии".


Получить разницу изменений можно только
1. востановить бекап на дату начала. БД А
2 восстановить бекап на дату конца. БД Б
3. посмотреть дельту изменений в таблице.

Если интервал не большой и есть change_tracking на таблицах, можно узнать из него.

В общем фантазий куча.
8 апр 16, 14:52    [19033181]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
Inkis,

а что тут фантазировать то?
надо садиться и проектировать систему архивирования
перетаскивать старые данные в какую-то другую базу
которую можно разместить может на CD
и монтировать ее когда попросят
8 апр 16, 14:54    [19033200]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2415
так в общем-то, какие фантазии? только два варианта
через бэкап полную копию - и пробегаясь по таблицам удалить лишнне
через скрипты копию - и пробегаясь, опять же, по таблицам заливаем нужное
8 апр 16, 15:15    [19033377]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
iljy
Member

Откуда:
Сообщений: 8711
gds
iljy
пропущено...


Пока только пофантазировать на тему "а вдруг мы знаем структуру базы, знаем предметную область и можем по содержимому таблиц так или иначе определить, какие данные когда были модифицированы?". Скопировать же структуру БД (с сохранением связей и прочего) можно с помощью функции SSMS "Сформировать сценарии".

Дата модификации строки нигде не фигурирует, эта информация избыточна для сервера. Если нет отдельного столбца отвечающего за это то вы не узнаете.


Это вы мне говорите, что она избыточна? Я в курсе. Я пытаюсь донести до ТС мысль, что искать время модификации надо в ее схеме, сам сервер ничего придумывать не будет.
8 апр 16, 19:21    [19034779]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
iljy,

Прошу прощения, если обидел Вас вас чем-то. Конечно же я хотел это донести до ТС'а.
8 апр 16, 20:37    [19034963]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
o-o
Guest
А мне кажется , ей надо не изменения, а просто хочет оставить данные за последние 3 месяца, ну типа они товары отгружают, вот и хотят отгруженное за 3 месяца. Но при этом, если есть таблица клиентов, пусть в ней даже все клиенты последний раз обновлялись год назад, то эту таблицу надо все равно целиком тащить.
Только ТС сама не понимает, чего хочет, раз считает, что в студии могли одной кнопкой такую хотелку реализовать. Потому что по ее мнению, "каждую таблицу рассматривать это затратно", а что факты и справочники принципиально по-разному обновляются, это ей не видно.
Раз связи хочет, то это ФК, а что соответствующие ПК обновлялись 100 лет назад, но тем не менее они нужны, она не видит
8 апр 16, 20:50    [19034977]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31978
o-o
Только ТС сама не понимает, чего хочет, раз считает, что в студии могли одной кнопкой такую хотелку реализовать.
Угу, нужно просто напросто строить бизнес-требования, формулировать логическое представление, что же всё таки нужно.

Наверное, ТС менеджер, ей что то там начальство сказало невнятно "сделать", а программисты говорят, что это типа большая работа. И вот она решила их окоротить, вывести на чистую воду :-)
8 апр 16, 22:38    [19035239]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Inkis
Member

Откуда:
Сообщений: 4
большое спасибо за ответы.
Glory, прошу прощения, что не раскрыла структуру и тематику. если это может чем-то помочь то таблица состоит из 162 таблиц и хранит данные одной из городских больниц (пациенты-обследования-операции- и т.д.). эта БД действующая.
iljy, gds, спасибо. сейчас займусь этим вариантом и отпишусь.
leov, система архивирования существует. моей задачей является создание (в идеале) скрипта, который можно было бы прогнать на сервере и достать данные за определенный (задаваемый по требованию) период.
StarikNavy, спасибо за идею, попробую из этого запроса сделать скрипт. отпишусь.
alexeyvg, я прошу помощи в проблеме, а не вашего мнения о моей профессии.
то, как гость описал конечный результат очень похоже на мое видение. я не прочь рассмотреть каждую таблицу, но интересны альтернативные варианты. было бы здорово если бы умник вернулся и дал дельный совет.
11 апр 16, 06:28    [19040543]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Glory
Member

Откуда:
Сообщений: 104751
Inkis
я не прочь рассмотреть каждую таблицу, но интересны альтернативные варианты. было бы здорово если бы умник вернулся и дал дельный совет.

Есть один альтернативный способ - наймите специалиста. Вы, на мой взгляд, не готовы самостоятельно решать такую задачу.
11 апр 16, 08:42    [19040693]     Ответить | Цитировать Сообщить модератору
 Re: Выгрузить БД за период  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Inkis
моей задачей является создание (в идеале) скрипта, который можно было бы прогнать на сервере и достать данные за определенный (задаваемый по требованию) период.
Эта задача в таком виде не имеет смысла. Что вы потом с этими данными собираетесь делать? Конечная цель какая?

Glory
Inkis
я не прочь рассмотреть каждую таблицу, но интересны альтернативные варианты. было бы здорово если бы умник вернулся и дал дельный совет.

Есть один альтернативный способ - наймите специалиста. Вы, на мой взгляд, не готовы самостоятельно решать такую задачу.
Вы прикалываетесь что-ли? Это же городская больница. Откуда ж у них деньги.
11 апр 16, 22:03    [19044866]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить