У меня размер резервной копии данных SQL Server выше 20 ГБ. Моя база данных на диске E имеет достаточно места, но мое программное обеспечение SQL установлено на диске C, которое имеет низкую память. В этом случае я могу восстановить резервную копию на диске E.20GB SQL Server DataBase Резервное копирование
ответ
Шаг 1: Отделить DB
USE MASTER;
GO
ALTER DATABASE DBName
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
- Detach DB
EXEC MASTER.dbo.sp_detach_db @dbname = N'DBName'
GO
Шаг 2:
Теперь переместите файлы с диска С на Е диске. Теперь вы можете снова подключить файлы с помощью E-диска.
USE MASTER;
GO
ALTER DATABASE DBName
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
-- Detach DB
EXEC MASTER.dbo.sp_detach_db @dbname = N'DBName'
GO
. могут объединить эти два ответа в один – TheGameiswar
Хотя этот фрагмент кода приветствуется и может оказать некоторую помощь, это было бы [значительно улучшено, если бы оно включало объяснение] (// meta.stackexchange.com/q/114762) из * how * и * почему * это решает проблему. Помните, что вы отвечаете на вопрос читателей в будущем, а не только на человека, который спрашивает сейчас! Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, и укажите, какие ограничения и допущения применяются. –
Вы можете восстановить базу данных через SQL Server Management Studio. При восстановлении вы можете указать MDF
и LDF
расположение файла на вашем E:
диске.
Чтобы указать новое местоположение файлов базы данных, выберите страницу Файлы и нажмите кнопку Переместить все файлы в папку. Обеспечить новый местоположение папки файлов данных и журналов папки с файлами
шаги:
ALTER DATABASE database_name SET OFFLINE;
переместить файл или файлы в новое место. Для каждого перемещенного файла запустите следующий оператор.
ALTER DATABASE database_name MODIFY FILE (NAME = logical_name, FILENAME = 'new_path\os_file_name');
Запустить следующее заявление.
ALTER DATABASE database_name SET ONLINE;
Проверьте изменение файла, выполнив следующий запрос.
SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'<database_name>');
подробнее пройти через url
Моя база данных физический путь в электронном диске. и я хочу восстановить базу данных 20gb, в то время как мой диск c имеет только 9 gb – Keulraesik
. Проверьте некоторые решения на их http://dba.stackexchange.com/questions/34248/restore-backup-fails-not-enough-disk-space –