Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, подскажите, если не сложно, как уменьшить размер БД. База с данными ~500М, после удаления всех данных размер меняется, но не слишком. Как вернуть ее в исходное сосояние (по размеру)? Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 09:33 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
Shrink Database (из Enterprise Manager правой кнопочкой мыши на базу данных, затем All Tasks, Shrink Database). мне известен этот способ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 09:37 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
Спасибо, это понятно, но не слишком помогает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 09:43 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
в интерфейсе от SQL 2000 есть ещё такие опции для Shrink... как "Move pages to beginning of file before shrinking" и "Maximum free space in files after shrinking". Плюс ещё помогает обрубить transactions log, а потом сделать шринк, но всё равно, сжимается не всё. У меня оставалось в худшем случае 25% неиспользуемого места для небольших баз (порядка 50 мег), для больших - меньше (в процентах) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 09:51 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
можно сделать ещё вот что: Вариант 1. Если база нужна пустая. Отскриптовать все объекты, грохнуть базу, а затем создать её заново. Вариант 2. Если база с данными. Сделать новую базу, затем туда через булк-копи перенести всю информацию (transaction log при этом не заполняется) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 09:56 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
а ещё есть T-SQL: DBCC SHRINKFILE, DBCC SHRINKDATABASE - параметры вызова можно посмотреть в Books Online этого хватит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 10:02 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
Поскольку база сжимается до первой заполненной страницы, её можно предварительно дефрагментировать, например, взяв идею из этого примера: --************************************** -- Name: SQL Database Defrag -- Description:This code will organise the indexes on your database to improve speed. (Simple) -- By: philip hannent -- -- -- Inputs:None -- -- Returns:None -- --Assumes:When you run this code it will create a stored proc. Once you have done that just run EXEC usp_DefragDatabase 'Test' This will perform the defrag. -- --Side Effects:While the defrag is in process you performace will take a dive. --This code is copyrighted and has limited warranties. --Please see http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.275/lngWId.5/qx/vb/scripts/ShowCode.htm --for details. --************************************** --Re-indexes the specified database CREATE PROCEDURE usp_DefragDatabase -- We don't use sysname because it might not be long enough. -- sysname is 128 chars, so we use double that. @dbname nvarchar(256) AS BEGIN -- Quote the database name with brackets DECLARE @quoteddbname nvarchar(256) set @quoteddbname = quotename( @dbname ) -- The outer EXEC is so we can do USE, not allowed in stored procs -- The inner EXEC does the actual reindex on each table in the -- specified database EXEC('USE'+ @quoteddbname +' DECLARE @sTableName sysname DECLARE PKMS_Tables CURSOR LOCAL FOR select table_name from information_schema.tables where table_type = ''base table'' order by 1 OPEN PKMS_Tables FETCH NEXT FROM PKMS_Tables INTO @sTableName WHILE @@FETCH_STATUS = 0 BEGIN select @sTablename = quotename(@sTablename, ''[]'') EXEC('' DBCC DBREINDEX ( ''+@sTableName+'') WITH NO_INFOMSGS'') FETCH NEXT FROM PKMS_Tables INTO @sTableName END CLOSE PKMS_Tables') END GO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 10:43 |
|
||
|
Уменьшение БД
|
|||
|---|---|---|---|
|
#18+
Сделайте DBCC updateusage(dbname) и посмотрите в полученном результате, какие таблицы занимают больше всего диского пространства и на что (индексы, данные, резерв), а после этого можно делать какие то выводы. (Размер приводится в страницах. Каждая страница=8 Кб). По каждой таблице информацию можно смотреть и sp_spaceused, но она может быть устаревшей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2001, 11:56 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32017030&tid=1824992]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 383ms |

| 0 / 0 |
