Технологии Blogger.
Показаны сообщения с ярлыком SQL. Показать все сообщения
Показаны сообщения с ярлыком SQL. Показать все сообщения

Уменьшение размера базы или лога SQL

>> 12 июля 2012 г.

После определенных манипуляций с базой возникают ситуации, когда размер ее файлов превышает разумные пределы (либо, как у меня, в два раза больше положенного 103 Гб вместо 65 Гб, и это только файл базы данных). Данная ситуация разрешается простым шринком.

Приведенные ниже варианты кода довольно просты:
  • DBCC shrinkdatabase(N’имя_базы’, TRUNCATE_ONLY); — усечение всей базы
  • use [имя_базы] DBCC SHRINKFILE (N’имя_базы_Data’, 101); — усечение только файла данных до размера 101 мб
  • use [имя_базы] DBCC SHRINKFILE (N’имя_базы_Log’, 0); — усечение только файла транзакций до размера 0 мб
Но при выполнении этой операции могут возникнуть проблемы. Проявляются они в основном на тех базах данных, для которых установлена модель архивирования Full (для модели Simple проблем, как правило, не возникает, далее поясним почему). В сообщениях об ошибке говорится о том, что log-файл находится в использовании, поэтому операцию выполнить невозможно — это более чем удивительно, поскольку обычно процесс шринка производится при завершенной работе пользователей (никто не обращается к базе). Монитор соединений так же показывает отсутствие какой-либо активности.

Read more...

Как урезать лог транзакций в MS SQL Server 2008?

>> 11 июля 2012 г.

С MS SQL Server 2008 мне не доводилось плотно работать, т.к. все поддерживаемые у нас сервисы работают либо под управлением MS SQL Server 2000, либо под MS SQL Server 2005.
Сегодня мне потребовалось произвести усечение лога транзакций.

Развернул тестовую базу и провел с ней ряд манипуляций, в результате чего лог вырос до 58 Гб!!!Оказалось, что MS SQL Server 2008 не поддерживает опцию TRUNCATE_ONLY в команде BACKUP LOG.

Погуглил, выяснил, что опция не поддерживается.
Пишут, что надо сначала делать модель восстановления на Simple.
Далее выполнить команду dbcc shrinkfile.
После этого вернуть модель восстановления в Full.

Итоговый скрип вышел такой:

USE ИмяБазы
ALTER DATABASE ИмяБазы SET RECOVERY SIMPLE
DBCC SHRINKFILE (ИмяФайлаЛога, ЖелаемыйРазмер);
ALTER DATABASE ИмяБазы SET RECOVERY FULL

Источник

Read more...

Ошибки SQL при работе 1С

>> 25 июня 2012 г.

На днях столкнулся с одной ошибкой SQL. Попробовал все варианты исправления, и на уровне 1С и на уровне самого SQL, даже индексы хотел было перестроить. Но помогла банальная перезагрузка (физически) сервера.
Но по пути накопал вот этот список ошибок и их решений. В будущем может пригодиться!

Read more...

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP