Файлы журналов SQL Server 2008 имеют минимальные размеры, что дает и как мне сделать их меньше?
-
16-10-2019 - |
Вопрос
Хорошо, чтобы начать, я облажался, когда создал базы данных, используя сценарий Create, примерно так: (искусственные линейные разбивки и имена/пути для целей обертывания)
CREATE DATABASE [EXAMPLE] ON PRIMARY
( NAME = N'EXAMPLE_Data', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf',
SIZE = 446046KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'EXAMPLE_Log', FILENAME = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.ldf',
SIZE = 664505KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
Потому что я написал это из существующей базы данных о разработке, и я просто хотел что -то сделать. Я облажался, когда не изменил свои размеры на что -то разумное (например 4096KB
) и теперь я не могу сократить логарифмический файл ниже примерно 600 МБ.
Я знаю, где я ошибся, но как мне это исправить?
Решение
Отметьте базу данных.
sp_detach_db @dbname = 'EXAMPLE'
Физически удалить файл журнала с диска (это ключевой, но может быть рискованным - см. MrdennyКомментарий ниже).
Подключить базу данных, используя
sp_attach_single_file_db
хранимая процедура.sp_attach_single_file_db @dbname = 'EXAMPLE', @physname = N'J:\SQLServer2008\MSSQL.INSTANCE\EXAMPLE.mdf'
Другие советы
Надеюсь, у вас достаточно привилегий для доступа к SSMS. Если вы это сделаете, следуйте этим шагам
- Открыть SSMS
- Подключитесь к вам SQL Server Instacne
- Откройте Explorer Explorer, щелкните правой кнопкой мыши базу данных (которую вы хотите уменьшить размер файла журнала) и выберите «Свойства»
- В окне «Свойства» - выберите «Файлы»
- Вы увидите сетку с баз данных в правом нижнем углу
- Нажмите «Добавить», чтобы добавить новый файл журнала, дать
- логическое имя
- Тип файла = журнал
- Начальный размер = 1 МБ (или ваше предпочтение)
- Cick Autorogrowth и соответственно установить предпочтения
- Имя файла
- Теперь нажмите на существующую строку журналов и выберите «Удалить»
- Вот и все! Теперь у вас есть новый файл журнала с желаемым размером MIN.