#0
by lokiii
Имеется связка 1Сv77+MS SQL Server 2000. ПРоизвели обрезку базы, вроде как все лишнее вычистили. А ведь, как изввестно, в SQL-сервере удаленные записи физически не удаляются, и файл с базой(mdf) стал даже больше, чем перед обрезкой. Говорят, надо базу mssqlсервера упаковывать. Вот только как упаковывать базу sql-сервера?
#2
by shaggyboy
>ведь, как изввестно, в SQL-сервере удаленные записи физически не удаляются а, простите, откуда вам это известно?
#4
by mikecool
файл стал больше, но данных в нем нет.... не парься, сделай шринк с очисткой пустого места....
#6
by lokiii
Если бы все было так просто... Сделал я shrink , а он только журнал транзакций(*.ldf) обрезал и все. А mdf-ник остался таким же по размеру. А ведь насколько я понимаю его тоже можно сжать, вычистив удаленные записи. Только как?
#8
by ВторНик
тупо, но делал как-то раз так, создавал новую базу в SQL и экспортировал из данные из имеющейся базы в новую, ужалась в 3 раза с 10Гб до 3. естественно после этогоо переподключил юзеров.
#10
by Guk
Упаковать базу данных можно или с помощью графического интерфейса приложения SQL Server Enterorise Manager, или с помощью выполнения кода (например с QA). Первый случай выполняется посредством вызова контекстного меню на необходимой базе и выбора All Tasks - Shrink Database... . Второй случай опишем несколько подробнее. В приведенном коде выполняется 4 строки кода. 1 строка - усечение всей базы. 2 строка - усечение только DATA файла до размера 101 мб. 3 строка - усечение только файла транзакций до размера 0 мб (несколько килобайт). 4 - строка - очистка журнала транзакций (иногда файл транзакций усечь невозможно, по причине заисших открітіх транзакций, выполнение этой команды должно привести до полной очистки журнала транзакций). Код: use [base_1c] DBCC SHRINKFILE (N'base_1c_Log', 0) DUMP TRANSACTION base_1c WITH TRUNCATE_ONLY где base_1c - имя базы данных. Если приведенный више код не привел к требуемым результатам, можно попробовать выполнить следующий код: Код: use [base_1c] BACKUP LOG base_1c WITH TRUNCATE_ONLY GO DUMP TRANSACTION base_1c WITH no_log GO CHECKPOINT GO DBCC SHRINKFILE(base_1c_log,2) где base_1c - имя базы данных. Последняя строка - получение таблицы с информацией о занимаемом месте и свободном метсе в файле транзакций.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: в чем разница.... "Сохранить данные..." и "Выгрузить данные..."?
- Проектирование: 1С 7.7 SQL + Windows 2003 Server + MS SQL Server 2000 (Ent) + сервер термин
- Совместимость MS SQL 2000 и MS SQL 2005 ?
- Установка MS SQL Server 2000 64-bit на MS Windows Server 2003 Enterprise x64 Edition
- Не меняются данные в управляемой форме после изменеий объекта чьи данные взяты
- v7: Перенос базы 1С 7.7 MS SQL 2005 на MS SQL 2000
В этой группе 1С
- Поиск закономерностей 3 класс
- v7: УПП Как ввести начальный страховой стаж сотрудника?!
- где находятся "свойства Таблицы"
- 8.1: можно ли запросом получить список измененных объектов РИБ?
- Нужен пример работы с 1С 8.0 на Delphi по COM или OLE
- v8 Как задать программно ориентацию страницы ландшафт?
- Вывод отчета по горизонтали
- Отбор в форме списка задач
- Что такое дамп и где его посмотреть?
- Объект СравнениеЗначений и с чем его едят?
- Кто-нибудь слышал о программе Ветразь?
- Тип(ДокументСсылка) "Тип не определен"
- Нужно сделать копию базы SQL
- Пустые страницы при печати
- Ошибка общего модуля
- Как отключить интерфейс "Общий"
- Получение данных из внешней обработки
- v7: Поиск в ТЗ
- Сложно ли получить статус 1с:Совместимо и что конкретно он дает
- Как преобразовать число 1 000 в 1000?