Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Добрый день. Помогите, пожалуйста, я скорее программист, чем администратор, но приходится решать проблему со сжатием базы данных. Поиском воспользовался, Shrink по логам сделан, Recovery Model - Simple, логи составляют всего 10 М. А база - 150 Gb. Удаляю старые данные, но при этом снижения размера базы не происходит. В Tasks->Shink пришет, что для DATA свободного пространства - 0%, минимальный размер файла равен текущему размеру (хотя треть записей удалена). Версия: Microsoft SQL Server 2016 (SP1-CU6) (KB4037354) - 13.0.4457.0 (X64) Nov 8 2017 17:32:23 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) Если простым советом здесь не поможешь, ищу специалиста на разовую работу по снижению размера базы средствами администратора, в идеале - без реальной остановки. Заранее признателен, Сергей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 11:08 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 11:43 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey Gusev, Тут если в двух словах и кратко, то: 1) Удалить все ненужные (на ваш взгляд) данные из таблиц 2) Устранить "фрагментацию" страниц на уровне таблиц/индексов (читать alter [table | index] rebuild) 3) Шринк файлов. Как альтернативный вариант, вместо 2 и 3 создать новую ФГ, перенести всё в неё, старую ФГ удалить. Все операции - на ваш страх и риск. На стандартной редакции скуль сервера - перестроение таблиц и индексов - блокирующая операция, без фозможности выполнения с опцией ONLINE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 11:49 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey GusevShink пришет, что для DATA свободного пространства - 0%, минимальный размер файла равен текущему размеру покажите результат sp_spaceused по данной базе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:13 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey Gusev, зачем Вы ее сжимаете, в базе никогда не появятся новые данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:33 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSergey Gusev, зачем Вы ее сжимаете, в базе никогда не появятся новые данные? да и не сжимается у него. пишет же, свободного места нет. и если это так, то вопрос ТС законный, кто держит освободившееся после удаления место. и например, это кучи. или пустые LOB-страницы и у них неплохо бы место забрать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:36 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123, не знаете ли - куча отдаст место, если удалить все записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:40 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSergey Gusev, зачем Вы ее сжимаете, в базе никогда не появятся новые данные? Пока не сжимаю, рассматриваю как вариант. А что, сжатие доступно только для архивов? Вообще, база активно используется и в те таблицы, которые я собираюсь сжимать, будут идти записи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:46 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123Sergey GusevShink пришет, что для DATA свободного пространства - 0%, минимальный размер файла равен текущему размеру покажите результат sp_spaceused по данной базе Вот по трём самым большим таблицам - ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:55 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовYasha123, не знаете ли - куча отдаст место, если удалить все записи? если с таблоком удалять, то отдает. если без таблока, не отдает. хоть все, хоть не все ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:57 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey GusevYasha123пропущено... покажите результат sp_spaceused по данной базе Вот по трём самым большим таблицам - вроде пишу русским языком: результат sp_spaceused по базе . без параметров sp_spaceused запустите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 12:58 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123без параметров sp_spaceused запустите database_name database_size unallocated space RBCMoneyNew 161860.94 MB 3.40 MB reserved data index_size unused 165730920 KB 148398584 KB 17289784 KB 42552 KB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:05 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey Gusev, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. С наибольшим waste_pc - кандидаты на alter table ... rebuild. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:20 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовС наибольшим waste_pc - кандидаты на alter table ... rebuild. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:23 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey GusevYasha123без параметров sp_spaceused запустите database_name database_size unallocated space RBCMoneyNew 161860.94 MB 3.40 MB reserved data index_size unused 165730920 KB 148398584 KB 17289784 KB 42552 KB ну вы же видите, у вас нет свободного места в базе (unallocated space 3.40 MB). поэтому шринк и не проходит, отрезать нечего. если треть записей удалена, то место свободное есть, но оно продолжает числиться за объектами, которые вы почистили. скорее всего это ЛОБы, или же вы удаляли данные из куч без таблока. вам виднее, какой случай ваш. ЛОБы это varchar(max), varbinary(max), xml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:26 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey Gusev, Покажите результат Код: sql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:29 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовSergey Gusev, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. С наибольшим waste_pc - кандидаты на alter table ... rebuild. с кучей точно не катит. допустим, удаляем 1млн строк из dbo.Nums (это все строки). таблица пуста, по ней имеем (см.картинку) ваш waste_pc = 0,14 с ЛОБами сейчас не могу проверить, может попозже ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:36 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123ну вы же видите, у вас нет свободного места в базе (unallocated space 3.40 MB). поэтому шринк и не проходит, отрезать нечего Собственно, об этом я и написал в самом первом сообщении. Удалил треть записей в самых больших таблицах, а уменьшить файлы не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:40 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
invm[моя БД].sys.dm_db_index_physical_stats( 0 , null, null, null, 'detailed'); это все равно полезет во все базы, даже если из нужной вызвать. надо Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:41 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123надо Код: sql 1. Это вернуло total_tables heap_tables unused_heap_space 112 0 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:57 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
LOB-ы удаляли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 13:59 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123LOB-ы удаляли? Нет, пока даже не знаю, что это такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 14:51 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Sergey GusevYasha123LOB-ы удаляли? Нет, пока даже не знаю, что это такое. вообще-то выше написано: это (n)text, image, varbinary(max), (n)varchar(max), xml. если это добро было в удаляемых строках, по идее помогает alter index.. reorganize. когда не помогает, остается только перелив в новую таблицу с последующим ее переименованием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 15:13 |
|
||
|
База данных не уменьшается после удаления записей
|
|||
|---|---|---|---|
|
#18+
Yasha123вообще-то выше написано: это (n)text, image, varbinary(max), (n)varchar(max), xml. То есть удаляя запись, MS SQL не удаляет связанные с ними большие данные? А как это тогда решать? Предварительное обнуление этих полей решит проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39761471&tid=1688432]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
42ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 349ms |

| 0 / 0 |
