Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Как уменьшить базу данных?

Ответить
Настройки темы
MSFT SQL Server - Как уменьшить базу данных?

Аватара для Avatar-Lion

Support L1+


Contributor


Сообщения: 5029
Благодарности: 990


Конфигурация

Профиль | Отправить PM | Цитировать


Имеется файл dd_Current_Data.MDF объёмом в ~500Мбайт, который создавался силами программы "Доктор Ден", которая по сути своей является банальной картотекой для стоматологической клиники (ФИО пациента, его контакты, проведенные работы и т.д.). Где-то последние полгода программа стала долго запускаться - exe'шник программы грузит процессор минут по 10, а также лопает RAM. Я так подозреваю, все дело в излишне большой базе данных. Погуглил. Пишут про команду DBCC SHRINKFILE, но непонятно где ее надо вводить. В трее висит значок SQL-сервера, его можно остановить \ запустить заново, но не более того. Возможно, надо что-то доустановить? Но что именно? До этого никогда дела с базами данных не имел, поэтому без понятия как оно все должно выглядеть.

Краткий конфиг компа: Celeron G540, 2Gb DDR3, SSD 60Gb.

Отправлено: 17:25, 07-02-2018

 
y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Avatar-Lion,
Если действительно есть значек управления службой: тогда с вероятностью 99% SQL 2000.
А дальше по обстоятельствам - базовая утилита управления "SQL Server Enterprise Manager", но если использован MSDE то этой утилиты нет в комплекте. Отдельно она не поставляется.
Мало того, помимо шринка надо еще проверить модель восстановления - если она "Полная" то шринк не поможет - вначале надо выставить модель восстановления простая и только потом шринкать...

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:15, 08-02-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Avatar-Lion

Support L1+


Contributor


Сообщения: 5029
Благодарности: 990

Профиль | Отправить PM | Цитировать


y--, Хм... Да, точно, в списке установленного ПО числится нечто с названием ...Desktop Engine (полностью не помню, а ПК этого под рукой нет). Видимо, это и есть MSDE. И что делать? Искать этот таинственный SQL Server Enterprise Manager на торрентах?

Отправлено: 09:58, 08-02-2018 | #3

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Avatar-Lion,
SQL Server Enterprise Manager не поставляется в качестве отдельного продукта...
Поэтому официальный путь - скачать любой дистриб полного MSSQL 2000 и ставить его без установки самого сервера - только Client Tools(ну и может еще что-то по зависимости)

Неофициальный путь
Без установки чего-либо(как впрочем и без гарантии - на свой страх и риск)
Собрать в одну папку файлы:
ISQLW.exe
isqlw.rll
objmgr.dll
objmgr.rll
PFCLNT80.dll
PFCLNT80.RLL
pfutil80.dll
pfutil80.rll
semsfc.dll
semsfc.rll
sqlgui.dll
sqlgui.rll
sqlqry.dll
sqlqry.rll
sqlresld.dll
sqlsvc.DLL
sqlsvc.RLL
W95SCM.dll
из скачанного дистрибутива полного MSSQL 2000
Запускать ISQLW.exe - подключаться к нужному экземпляру СУБД и выполнять необходимые запросы...

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:31, 08-02-2018 | #4

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Модель восстановления SQL
Вывести текущее значение модели восстановления:
SP_HELPDB <имя базы>
если она не SIMPLE
тогда
ALTER DATABASE <имя базы> SET RECOVERY SIMPLE

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:01, 08-02-2018 | #5


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Avatar-Lion, можно взять более современную консоль управления и подключиться к старому серверу. Впрочем, команду можно послать через любой (поддерживающий MS SQL) клиент (например HeidiSQL) или библиотеку/драйвер языка программирования.

y--, модель восстановления влияет на размер файла логов, а не файла данных, так что одно другому не мешает.
SQL Agent есть и в более поздних версиях и выглядит как иконка в трее

Отправлено: 13:27, 08-02-2018 | #6


Аватара для Avatar-Lion

Support L1+


Contributor


Сообщения: 5029
Благодарности: 990

Профиль | Отправить PM | Цитировать


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

Скачал SQL Server 2000 Standard Edition. На Windows 7 (64-bit) ставиться не желает: http://www.picshare.ru/uploads/180208/5eajlV541K.png

На Windows XP говорит следующее: http://www.picshare.ru/uploads/180208/99w7qe3yQ4.png

Что ж ему надо-то? Ведь я так полагаю, прежде чем мутить что-то с базой, необходимо установить сервер, подключить к нему базу данных, а потом уже делать с ней что-либо. Или я не в том направлении копаю?

Отправлено: 14:39, 08-02-2018 | #7

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Busla,
Цитата Busla:
модель восстановления влияет на размер файла логов, а не файла данных, так что одно другому не мешает. »
размер БД=размер файлов сегментов базы+ размер файлов сегментов лога
Если у тебя модель FULL то всегда львиная доля размера БД будет сидеть в логе...
И сколько БД не шринкай ее объем (существенно) не изменится...
А усечение лога это уже несколько другая операция чем шринк.

Avatar-Lion,
Цитата Avatar-Lion:
На Windows XP говорит следующее: »
ищи developer - она и на XP встанет...

-------
Ты это - заходи если что...


Отправлено: 15:36, 08-02-2018 | #8


Аватара для Avatar-Lion

Support L1+


Contributor


Сообщения: 5029
Благодарности: 990

Профиль | Отправить PM | Цитировать


y--, Уф... Вроде нашел и поставил. Базу в список добавил. А где команды (SP_HELPDB...) теперь вводить? Если правой кнопкой ткнуть, то можно сделать так и потом так. Но почему всего 3Мб предлагает освободить? Я думал, он ее сожмет до исходного значения в 10-20Мбайт, там же только текст и всё, никаких рисунков и прочего в базе нет.

Отправлено: 16:18, 08-02-2018 | #9

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Avatar-Lion,
в свойствах посмотри модель восстановления - она скорей всего полная и основной объем сидит в логе. Там же ее можно сменить...

-------
Ты это - заходи если что...


Отправлено: 16:29, 08-02-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Как уменьшить базу данных?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Как изменить базу данных Access при изменении данных в таблице на форме tumanovalex Программирование и базы данных 2 15-04-2016 16:40
MSFT SQL Server - Как создать базу данных SQL Server Compact? Alsou93 Программирование и базы данных 0 23-12-2013 22:32
Разное - Как правильно построить базу данных? Aleksandr84 Microsoft Office (Word, Excel, Outlook и т.д.) 3 08-07-2013 18:43
C/C++ - Как записать DBGrid в базу данных MS Acess? S1stem Программирование и базы данных 1 25-01-2008 13:10
Как защитить базу данных на серваке? BatutMAN Защита компьютерных систем 15 17-01-2003 13:11




 
Переход