Это интересно

  • ОКД
  • ЗКС
  • ИПО
  • КНПВ
  • Мондиоринг
  • Большой ринг
  • Французский ринг
  • Аджилити
  • Фризби

Опрос

Какой уровень дрессировки необходим Вашей собаке?
 

Полезные ссылки

РКФ

 

Все о дрессировке собак


Стрижка собак в Коломне

Поиск по сайту

Уменьшение файла транзакций. DBCC SHRINKFILE (Transact-SQL). Как уменьшить файл журнала транзакций


server - Как уменьшить размер файла журнала транзакций, когда он является главным в зеркале?

Мы настраиваем зеркальное отображение базы данных в выходные дни и забываем повторно активировать задание, которое создает резервные копии журналов транзакций. Когда я пришел сегодня утром, журнал транзакций взлетел до 58 ГБ и занял большую часть пространства на диске.

Я сделал ручную резервную копию журнала транзакций на диске, чтобы снова запустить базу данных, однако запуск DBCC SHRINKFILE не уменьшает физический размер файла журнала транзакций.

DBCC SHRINKFILE (N'MyDatabaseName_Log', 1000)

Если я проверить использование журнала с помощью

DBCC SQLPERF(LOGSPACE)

Я могу видеть, что только 22% от текущего журнала используется

Database Name Log Size(MB) Log Space Used (%) Status MyDatabaseName 55440.87 22.38189 0

Если я проверить log_reuse_wait_desc в SYS .databses, единственная запись, которую я вижу, - DATABASE_MIRRORING, поэтому я предполагаю, что зеркало играет роль в том, почему физический размер файла журнала не будет сокращаться?

SELECT log_reuse_wait_desc FROM sys.databases WHERE name = N'MyDatabaseName';

Я также заметил, что мое главное зеркальное состояние базы данных приостанавливается, и пытаешься возобновить его сразу не удается со следующей ошибкой:

The remote mirroring partner for database 'MyDatabaseName', encountered error 5149, status 1, severity 25. Database mirroring has been suspended. Resolve the error on the remote server and resume mirroring, or remove mirroring and re-establish the mirror server instance.

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

MODIFY FILE encountered operating system error 112(There is not enough space on the disk.) while attempting to expand the physical file.

и

F:\Databaselogs\MyDatabaseName_1.ldf: Operating system error 112(There is not enough space on the disk.) encountered.

Главный сервер имеет 60 ГБ на диске файла журнала (здесь есть другие базы данных), в то время как зеркальный сервер имеет только 45 ГБ.

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

Как я могу уменьшить размер файла журнала физических транзакций без ущерба для зеркалирования или цепочки резервного копирования?

Я бегу SQL Server 2005

dba.stackovernet.com

database - Как уменьшить размер базы данных SQL Server?

Это старый вопрос, но я только что на него набросился.

Действительно короткий и правильный ответ уже дан и имеет наибольшее количество голосов. Это как вы сокращаете журнал транзакций, и это, вероятно, проблема с OP. И когда журнал транзакций вышел из-под контроля, его часто нужно убирать назад, но следует позаботиться о том, чтобы предотвратить появление в будущем ситуаций, когда журнал выходит из-под контроля. Этот вопрос на dba.se объясняет это. В принципе - не позволяйте ему получить это в первую очередь благодаря правильной модели восстановления, обслуживанию журнала транзакций, управлению транзакциями и т.д.

Но большой вопрос, который возникает у меня при чтении этого вопроса о сжатии файла данных (или даже файла журнала), - почему? и , какие плохие вещи случаются при попытке? Похоже, что сжимаются операции. Теперь в этом случае это имеет смысл в некотором смысле - потому что выпуски MSDE/Express ограничены максимальным размером БД. Но правильным ответом может быть просмотр правильной версии для ваших нужд. И если вы наткнетесь на этот вопрос, пытаясь свернуть свою производственную базу данных, и это не причина, вы должны задать себе вопрос почему?.

Я не хочу, чтобы кто-то искал в Интернете, как "сжимать базу данных", сталкиваясь с этим и думая, что это круто или приемлемо.

Сокращение данных - это особая задача, которая должна быть зарезервирована для особых случаев. Учтите, что при сжатии базы данных вы эффективно фрагментируете свои индексы. Учтите, что когда вы сокращаете базу данных, вы убираете свободное пространство, которое база данных может когда-нибудь разрасти обратно - эффективно тратит ваше время и приносит удар производительности операции усадки только для того, чтобы увидеть, как DB снова растет.

Я написал об этой концепции в нескольких блогах о сокращении баз данных. Этот вызов называется " Не прикасайтесь к этой кнопке сжимания" сначала приходит на ум. Я говорю об этих концепциях, изложенных здесь, но также о концепции "правильной калибровки" вашей базы данных. Намного лучше решить, какой размер вашей базы данных должен быть, планировать будущий рост и распределять его на эту сумму. С моментальной инициализацией файлов, доступной в SQL Server 2005 и более поздних версиях для файлов данных, стоимость роста ниже - но я по-прежнему предпочитаю иметь правильное начальное приложение - и я гораздо менее боюсь пробелов в базе данных, чем я в целом, без мысли.:)

qaru.site

Как сжать или удалить файл лога базы 1с в sql — Lavnik.net

Ошибка СУБД: Журнал транзакций для базы данных заполнен. HRESULT=80040E14

Такая ошибка может возникнуть если на диске недостаточно место. Часто происходит это из-за разросшегося файла log базы 1с.

Удалить или сжать (шринк) лога базы очень просто. Достаточно проделать действия ниже.

Инструкция

1. В менеджере sql нажать правой клавишей на нужной базе — Свойства — Параметры — Модель восстановления — Выбрать «Простая».

2. Опять правой клавишей на нужной базе — Задачи — Сжать — Файлы — Тип файла — Выбрать «Журнал». Ниже пункт Сжать файл до — устанавливаем «0«. Нажимаем ОК.

3. Вернуть параметру Уровень восстановления значение «Полная».

Проделать нужно для каждой базы данных.

Инструкция для английской версии:

Ошибка СУБД: The transaction log for database is full

lavnik.net

Уменьшение файла транзакций. DBCC SHRINKFILE (Transact-SQL) | Блог

  • file_name
  • Логическое имя файла, предназначенного для сжатия.

  • file_id
  • Идентификационный номер (идентификатор) файла, предназначенного для сжатия. Для получения идентификатора файла используйте функцию FILE_IDEX или выполните запрос к представлению каталога sys.database_files текущей базы данных.

  • target_size
  • Размер файла (в мегабайтах), выражаемый целым числом. Если он не указан, то инструкция DBCC SHRINKFILE уменьшает файл до размера файла по умолчанию. Размер по умолчанию представляет собой размер, указанный в момент создания файла.

    Примечание
     Примечание

    Можно уменьшить размер пустого файла, заданный по умолчанию, с помощью инструкции DBCC SHRINKFILE target_size. Например, при создании файла с размером 5 МБ и последующем уменьшении размера до 3 МБ, в то время как файл остается пустым, размер файла по умолчанию задается равным 3 МБ. Это правило применимо только к пустым файлам, в которых никогда не содержались данные.

     

    Этот параметр не поддерживается для контейнеров файловых групп FILESTREAM.

    Если аргумент target_size указан, то инструкция DBCC SHRINKFILE пытается сжать файл до заданного размера. Используемые страницы в освобождаемой части файла перемещаются в свободное место сохраняемой части файла. Например, если размер файла данных составляет 10 МБ, инструкция DBCC SHRINKFILE со значением аргумента target_size, равным 8, перемещает все страницы, используемые в последних 2 МБ файла, на место любых нераспределенных страниц в первых 8 МБ файла.Инструкция DBCC SHRINKFILE не сжимает файл до меньшего размера, чем требуется для хранения данных в файле. Например, если для файла данных, размер которого составляет 10 МБ, необходимо сжатие до 7 МБ, инструкция DBCC SHRINKFILE со значением аргумента target_size, равным 6, сжимает файл до размера в 7 МБ, а не 6 МБ.

  • EMPTYFILE
  • Выполняет миграцию всех данных из указанного файла в другие файлы в той же файловой группе. Поскольку компонент Компонент Database Engine больше не разрешает размещать данные в пустом файле, этот файл может быть удален инструкцией ALTER DATABASE.

    Для контейнеров файловых групп FILESTREAM файл нельзя удалить с помощью ALTER DATABASE до тех пор, пока сборщик мусора FILESTREAM не выполнит и не удалит все ненужные файлы контейнеров файловых групп, которые были скопированы в другой контейнер с помощью EMPTYFILE. Дополнительные сведения см. в разделе sp_filestream_force_garbage_collection (Transact-SQL).

     

  • NOTRUNCATE
  • Перемещает распределенные страницы из конца файла на место нераспределенных страниц в начале файла с параметром target_percent или без него. Свободное место в конце файла операционной системе не возвращается, и физический размер файла не изменяется. Следовательно, если указан аргумент NOTRUNCATE, файл сжимается незначительно.

    Аргумент NOTRUNCATE применим только к файлам данных. На файлы журнала он не влияет.

    Этот параметр не поддерживается для контейнеров файловых групп FILESTREAM.

  • TRUNCATEONLY
  • Освобождает все свободное пространство в конце файла операционной системе, но не перемещает страницы внутри файла. Файл данных сокращается только до последнего выделенного экстента.

    Аргумент target_size не обрабатывается, если указан аргумент TRUNCATEONLY.

    Аргумент TRUNCATEONLY применим только к файлам данных. Этот параметр не поддерживается для контейнеров файловых групп FILESTREAM.

  • WITH NO_INFOMSGS
  • Подавляет вывод всех информационных сообщений.

  • www.rbsoft.ru


    KDC-Toru | Все права защищены © 2018 | Карта сайта