официальный партнёр 1С по деловому софту
Закрыть
Логин:
Пароль:
Забыли свой пароль?
  Войти
Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов:
 
8(495)229-30-42

Как прикрепить базу MSSQL только при наличии файла MDF (без LDF)

На практике MSSQL DBA бывают случаи, когда необходимо прикрепить базу SQL и журнала транзакций нет.
ЛИБО лог очень вырос и никакой shrink не помогает уменьшить его размер (модель восстановления simple)
В этом случае, после закрытия всех транзакций, можно сделать Detach базы
После чего переместить-переименовать файл журнала транзакций, и attach-нуть базу следующим скриптом
EXEC sp_attach_single_file_db @dbname = 'dbname', 
   @physname = 'D:\path\db.mdf'
Если всё хорошо - получим сообщение вида
File activation failure. The physical file name "D:\path\db_log.ldf" may be incorrect.
New log file 'D:\path\db_log.LDF' was created.
SQL создаст пустой журнал транзакций на старом месте.
После чего старый лог можно удалить.

Данный способ не сработает, если в базе на момент отключения были неподтвержденные транзакции. В этом случае поможет план Б из статьи https://infostart.ru/public/277252/