Я работаю над проектом по регулярному восстановлению резервной копии SQL на сервере SQL разработки и столкнулся с чем-то интересным. Кажется, что предоставленный мной файл резервной копии составляет всего 1,2 ГБ, однако после восстановления «Начальный размер» файла базы данных (MDF) составляет почти 30 ГБ. Я предполагаю, что этот начальный размер установлен на БД до резервного копирования и просто перезаписывает то, что у меня есть в dev во время восстановления. Есть ли способ установить начальный размер БД во время операции восстановления, или я просто застрял с тем, что у меня есть?
Вот процесс, которому я следую, чтобы восстановить ...
Шаг 1. Пустая база данных
USE master;
GO
CREATE DATABASE TestDB
ON
( NAME = TestDB,
FILENAME = 'E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\TestDBB.mdf',
SIZE = 10MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1024MB )
LOG ON
( NAME = TestDB_log,
FILENAME = 'E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\TestDB_log.ldf',
SIZE = 5MB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 10% );
GO
Шаг 2. Восстановление из резервной копии с заменой / перезаписью.
RESTORE DATABASE TestDB FROM DISK = 'E:\Backup\TestDB.bak'
WITH MOVE 'TestDB' TO 'E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\TestDB.mdf',
MOVE 'TestDB_log' TO 'E:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\TestDB_log.ldf',
RECOVERY, REPLACE
GO