jsand
@jsand
Don`t know what to say.

Как восстановить и перебэкапить MSSQL базу на другом инстансе?

Всем привет.
У меня есть древний MSSQLServer 2005 с базой на 3 гига и лог-файлом на 300 гигов.
Журнал переполнился - база не работает. Шринк не работает.
Я попытался детачить базу, обратно она не аттачится - ругается на лог-файл, говорит переполнен. Развернуть бэкап рядом не позволяет свободное место.

Хочу развернуть бэкап на другом сервере 2016 EXPRESS, шринкнуть там забэкапить и развернуть на 2005.

Сработает ли такая схема или из-за других версий будут проблемы ?
  • Вопрос задан
  • 752 просмотра
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Шринк не работает.

BACKUP LOG [General] WITH NO_LOG
GO
--
DBCC SHRINKDATABASE ([General])
GO

Хочу развернуть бэкап на другом сервере 2016 EXPRESS, шринкнуть там забэкапить и развернуть на 2005.
У MS SQL нет обратной совместимости версий.
Восстановить резервную копию на другой версии SQL ...
Или усечение журнала транзакций.
Тогда ищу другие варианты...
Помогу.

Подключите сам файл БД (mdf), без журнала (FOR ATTACH_REBUILD_LOG)

social.technet.microsoft.com

У меня получилось присоединить без журнала.
87cf4853d9f84386bc37e014b629cdb9.png


И последний вариант установить SQL Server 2005 Express на компьютере с 2016 EXPRESS — это можно сделать.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jsand
@jsand Автор вопроса
Don`t know what to say.
Хотел также написать, что на оставшемся файле MDF, который не мог приаттачиться обратно из за ошибки с переполненным логом, сработало насильное присоединение с помощью следующей команды:

USE [master]
GO
CREATE DATABASE [TestDB] ON 
( FILENAME = N'E:\MSSQL\TestDBCopy.mdf' )
 FOR ATTACH_FORCE_REBUILD_LOG  
GO


Вылезла ошибка о том, что по старому пути лог не от этой базы, но создался новый лог с размером 512 кб.
База целая. Вот такие дела.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы