Restore

將非常大的數據庫從單個驅動器移動到多個驅動器,空間不大

  • January 9, 2018

我必須恢復一個剛剛超過 5 TB 的 SQL 數據庫;它將從一個 7 TB 的驅動器轉移到另一個具有拆分驅動器 C:\ 4 TB 和 D:\ 3 TB 並且還有 E:\Bak 的伺服器,該驅動器只有 0.5 TB

這可以在不增加空間的情況下完成嗎?

如果我將完整的 bak 分成幾部分,我可以一次複製和恢復一個嗎?

有多個數據文件,只有一個日誌

您可以備份到多個文件並通過備份壓縮恢復這些文件,這些文件應該比您的數據庫大小小很多。

例子

BACKUP DATABASE [YourDatabase] TO  
DISK = N'\\YourDriveOrNetworkFolder\YourFOlder\MNGDB_2.bak',  
DISK = N'\\YourDriveOrNetworkFolder\YourFOlder\MNGDB_1.bak',  
DISK = N'\\YourDriveOrNetworkFolder\YourFOlder\MNGDB_3.bak',  
DISK = N'\\YourDriveOrNetworkFolder\YourFOlder\MNGDB_4.bak' 
WITH NOFORMAT, NOINIT,  NAME = N'YourDatabase-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION,  STATS = 1
GO

不能一次恢復一個文件,您需要擁有所有文件。

但是,您可以從位於多個磁碟或網路位置的多個備份文件(如果您已對多個文件進行備份)進行恢復。

例子

RESTORE DATABASE [YourDatabase] FROM  
DISK = N'\\YourDriveOrNetworkPath\YourFOlder\MNGDB_1.bak',  
DISK = N'\\YourDriveOrNetworkPath\YourFOlder\MNGDB_2.bak',  
DISK = N'\\YourDriveOrNetworkPath\YourFOlder\MNGDB_3.bak',  
DISK = N'\\YourDriveOrNetworkPath\YourFOlder\MNGDB_4.bak' 
WITH  FILE = 1,  
MOVE N'YourFile' TO N'\\YourDrive\YourFolder\YourFile.mdf',  
MOVE N'YourLogFile' TO N'\\YourDrive\YourFolder\YourFile.ldf',  
NOUNLOAD,  STATS = 5

這完全取決於您的備份文件的大小以及數據文件和日誌文件所需的大小,以便能夠說出是否可能。

引用自:https://dba.stackexchange.com/questions/194989