Назад | Перейти на главную страницу

База данных SQL Server 2008 250 ГБ на диске 250 ГБ

Начато новое задание и есть база данных sql 2008 размером 250 ГБ. Разработчики уверяют, что размер примерно правильный. Проблема в том, что файл MDF 250 ГБ находится на диске 250 ГБ.

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

System.Data.SqlClient.SqlError: Неустранимая ошибка ввода-вывода произошла в файле «C: \ Backup \ backup.bkf:» 112 (не удалось получить текст для этой ошибки. Причина: 1815). (Microsoft.SqlServer.Smo)

В основном у меня есть два варианта:

Любая помощь приветствуется.

Спасибо

Да, вам обязательно придется выполнить резервное копирование в другое место, в котором достаточно свободного места. Если у вас есть SQL2008 R2 Standard (или любой выпуск 2008 Enterprise), вы можете сделать сжатую резервную копию (также возможно с помощью стороннего программного обеспечения, такого как Quest Litespeed). В противном случае размер вашей резервной копии будет равен размеру файла данных + размер файла журнала.

Что касается усадки, вам сначала нужно определить, ровная ли она возможно для сжатия файла, зная используемое пространство / свободное пространство внутри самого файла. Для файла размером 250 ГБ может быть использовано 240 ГБ и 10 ГБ свободно, или наоборот. (Самый простой способ определить это: щелкните правой кнопкой мыши базу данных и выберите «Задачи»> «Сжать»> «Файлы». НЕ нажимайте «ОК», просто посмотрите на «Текущее выделенное пространство» VS «Доступное свободное пространство», опустив поле «Тип файла» на см. данные против журнала).

В зависимости от того, что вы найдете, у вас будет несколько вариантов:

  1. Если у вас достаточно свободного места в файле, все может быть в порядке. Файл данных не будет пытаться увеличиваться до тех пор, пока он полностью не заполнится (за некоторыми исключениями, такими как перестроение индекса в особенно массивной таблице)
  2. Если у вас есть свободное место в файле, вы можете попробовать восстановить некоторые этого. (SQL нуждается в некотором "пространстве для локтя", так сказать, так что не пытайтесь восстановить все свободное пространство.) Сначала используйте опцию «Освободить неиспользуемое пространство» (это просто освободит место уже в конце файла). Затем, если вам все еще нужно больше, выберите конкретный целевой размер вместо того, чтобы пытаться восстановить все свободное место. Всегда выполняйте полное перестроение индекса, поскольку сжатие данных приводит к фрагментации файлов.
  3. Если файл данных является в основном заполнен, тогда у вас все еще могут быть некоторые варианты: вы можете добавить новый файл данных (в той же «файловой группе») на другой диск. Убедитесь, что установлен файл 250 ГБ не для автоматического увеличения, и что новый новый файл (на другом диске) является установлен на автоматический рост. Таким образом, любое «переполнение» из первого файла перерастет во второй файл.
  4. Если вы хотите быть более осознанным, вы можете создать файл (на другом диске) с новый Файловая группа. Затем вам нужно будет переместить определенные таблицы или индексы в этот новый файл (используя ALTER TABLE)

Очевидно, сделайте резервную копию на другом диске. Если в базе данных должно быть 250 ГБ, оставьте 250 ГБ. Вам нужно дополнительное пространство для операций по техническому обслуживанию, у вас есть прекрасное коммерческое оправдание для дополнительного хранилища. Вот хорошая причина не запускать SHRINKDATABASE ...

Вы можете попробовать сжать файлы базы данных. Щелкните правой кнопкой мыши базу данных -> Задачи -> Сжать (внутри Mgmt Studio). Для базы данных 250 ГБ это займет много времени - может, до часа.

Или вы можете подключить внешний жесткий диск USB и попробовать выполнить резервное копирование на него.