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

Откуда:
Сообщений: 52
Здравствуйте! Кто нибудь посоветуйте пожалуйста, как мне обрезать базу даннных sql, оставляя текущий и предыдущий год. Я совсем не разбираюсь в sql. В базе имеется несколько таблиц, если посмотреть всю таблицу базы, то эти таблицы в основном настройки медицинской программы, например, в каких то таблицах хранятся услуги, тарифы, шаблоны и т.д это скорее всего фиксированные данные. Вообщем, есть медицинская программа МИС, где регистратура создает мед карту пациента или врач существующей карте создает движение. Например заполняет в программе мед карте пациента платную услугу или отправляет пациента к другому врачу, и эти данные потом записываются в базе. Значит в базе хранится справочник пациентов и движение по ним, каким врачам пациент обследовался и какими услугами пользовался. Что я сделал, создал запрос поиска конкретного пользователя по всем таблицам, запрос нашел этого пользователя, но там этот пользователь существует только в трех таблицах скрин во вложении. База весит 180 гб. Если посмотреть таблицу medrecord то там записи только начиная с 2017 года. Неужели база за 2 года может так много весить? пока не в курсе сколько в день примерно регистраторы регистрируют карточек. Если в самой программе МИС посмотреть по мед записи существуют с 2002 или 2004. Не помню. Совсем запутался. Хотелось бы уменьшить базу. когда работал более крупной организации там база весила всего лишь 30-40 гб, а тут 180 гб.
17 июн 18, 17:44    [21497731]     Ответить | Цитировать Сообщить модератору
 Re: Удаление старых данных со всех таблиц.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36696
1. Изучить структуру базы.
2. В зависимости от структуры написать соответвтующие команды удаления.
3. Сделать бэкап.
4. Удалить данные.
5. Получить по шапке и восстановить данные из бэкапа.

Короче -- не трогайте. Лучше разберитесь сначала, что же именно в вашей базе весит 180 Гб.
17 июн 18, 17:49    [21497743]     Ответить | Цитировать Сообщить модератору
 Re: Удаление старых данных со всех таблиц.  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33271
Блог
Обратиться к разработчикам базы, или почитать руководство к ПО.
Выяснить, что же занимает все это "лишнее" место.

Ps что будете делать, если пациент пришел 31 декабря, который вы хотите удалить, а все остальные действия по нему были уже в следующем году?
17 июн 18, 18:21    [21497793]     Ответить | Цитировать Сообщить модератору
 Re: Удаление старых данных со всех таблиц.  [new]
982183
Member

Откуда: VL
Сообщений: 3350
Ни "настройки медицинской программы", ни "карточки пациентов" не могут занимать столько места.
Возможно в базе хранятся результаты ренгенов или прочая графическая информация.
Сильно вероятно то, что вся эта информация нужна и чистить там ничего нельзя
Если не сможете найти разработчика, то найдите любого специалиста по MSSQL
он сможет точно определить какие таблицы занимают максимум места.
Но "уменьшение базы" в любом случае надо согласовать со всеми заинтересованными должностными лицами.
+ было бы неплохо пообщаться с прошлым администратором.
18 июн 18, 02:37    [21498463]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить