SQL Server восстановить базу данных отсоединения - PullRequest
0 голосов
/ 07 июня 2019

Возможно ли восстановить отдельную базу данных (без повторного присоединения)?

База данных большая, но нет места на диске для создания резервной копии. Итак, я думал отключить базу данных, скопировать ее на другой сервер.

Этот другой сервер использует сценарии powershell для восстановления базы данных. Будет ли это работать с отдельной базой данных? Я не могу повторно прикрепить его с помощью этого скрипта. Просто восстанови.

Restore-SqlDatabase -ServerInstance $ serverInstance -Database $ myDb -BackupFile "detachedFile" -Credential $ Cred

1 Ответ

1 голос
/ 07 июня 2019

Резервное копирование базы данных в другом формате (.bak). Файлы, которые вы получаете в процессе отсоединения: mdf, формат файла данных ndf, формат файла журнала ldf - это разные форматы.

Вы можете прочитать о форматах . Я поместил содержание ниже с сайта для более легкой ссылки.

Обычно файлы резервных копий базы данных с расширением .bak содержат данные в стандартный формат Microsoft Tape Format (MTF), используемый самой Microsoft как а также множество инструментов резервного копирования для платформы Microsoft Windows.

Формат Microsoft Tape Format используется при записи и чтении данных и со съемных носителей во время управления хранением или данными защитные операции, такие как передача данных, копирование, резервное копирование и восстановить. В случае SQL Server файлы MTF содержат данные и журнал информация (файлы MDF и LDF), необходимая для восстановления базы данных. Файл MDF - это основной файл данных или первичный файл данных базы данных, который связывает все остальные файлы в этой базе данных вместе. ЛДФ - это Бревно Файл данных, и он содержит всю информацию журнала и имеет решающее значение для процесс восстановления базы данных.

Вы не можете использовать команду Восстановить базу данных для файлов mdf, ldf. Вам нужно использовать метод присоединения, отключения, чтобы они были доступны в другой среде. Как предположил @Peter Smith, вы можете использовать сценарии powershell, чтобы сделать то же самое.

...